Cryptography_additive_cipher.pptx

Shivaprasad787526 47 views 20 slides Jan 08, 2024
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

A brief explanation on additive cipher with a part of implementation (decryption) and some of the recent study on present status and challenges.


Slide Content

Cryptography

CONTENTS 2 Introduction Problem Statement Case Study Conclusion

Introduction

4 Additive cypher is also known as Caesar Cipher. The Caesar cipher is a simple encryption technique that was used by Julius Caesar to send secret messages to his allies. The Caesar Cipher technique is one of the earliest and simplest methods of encryption technique.

advantages Easy to implement and use thus, making suitable for beginners to learn about encryption. Requires only a small set of pre-shared information. Can be modified easily to create a more secure variant, such as by using a multiple shift values or keywords.

disadvantages This is not secure against modern decryption methods. The small number of possible keys means that an attacker can easily try all possible keys until the correct one is found, making it vulnerable to a brute force attack. Does not provide confidentiality, integrity, and authenticity in a message.

Problem statement a)Write a program that can perform a letter frequency attack on an additive cipher without human intervention. Your software should produce possible plaintexts in rough order of likelihood. It would be good if your user interface allowed the user to specify "give me the top10 possible plaintexts". b)Give the case study on Lightweight cryptography

8 plaintext = " TheWarisPostpontedto12noon " key = 5 ciphertext = encrypt(plaintext, key) print("Ciphertext:", ciphertext) possible_plaintexts = [] rng =int(input(‘How many plaintext do you require: ’)) for i in range( rng ): possible_plaintext = decrypt(ciphertext, i ) possible_plaintexts.append ( possible_plaintext ) print("Possible plaintexts:") for possible_plaintext in possible_plaintexts : print( possible_plaintext )

9 PROGRAM Encryption: def encrypt(plaintext, key): ciphertext = "" for char in plaintext: if char.isalpha (): if char.isupper (): ciphertext += chr(( ord (char) + key - 65) % 26 + 65) else: ciphertext += chr(( ord (char) + key - 97) % 26 + 97) else: ciphertext += char return ciphertext

10 Decryption def decrypt(ciphertext, key): plaintext = "" for char in ciphertext: if char.isalpha (): if char.isupper (): plaintext += chr(( ord (char) - key - 65) % 26 + 65) else: plaintext += chr(( ord (char) - key - 97) % 26 + 97) else: plaintext += char return plaintext

11 OUTPUT Ciphertext: YmjBfwnxUtxyutsyjiyt12stts Possible plaintexts: YmjBfwnxUtxyutsyjiyt12stts XliAevmwTswxtsrxihxs12rssr WkhZdulvSrvwsrqwhgwr12qrrq VjgYctkuRquvrqpvgfvq12pqqp UifXbsjtQptuqpoufeup12oppo TheWarisPostpontedto12noon SgdVzqhrOnrsonmsdcsn12mnnm RfcUypgqNmqrnmlrcbrm12lmml QebTxofpMlpqmlkqbaql12kllk PdaSwneoLkoplkjpazpk12jkkj

Case study Lightweight-Cryptography Status and Future Challenges

13 The rapid proliferation of resource-constrained devices in the Internet of Things (IoT), wearable technology, and embedded systems has created a critical need for lightweight cryptography. These devices often lack the processing power, memory, and battery life to handle traditional cryptographic algorithms. Lightweight cryptography addresses this challenge by offering efficient and secure solutions specifically tailored for resource-constrained environments.

14

15 Some of the best cypher used in lightweight cryptographic systems : Block Ciphers: PRESENT:  Popular for its small code size and fast execution, offering good security against known attacks.   This is a 64-bit block cipher with 80 rounds. Speck:  Similar to PRESENT, but with an improved resistance against cryptanalysis. This is a 64-bit block cipher with 32 rounds. SKINNY:  Highly efficient and secure, particularly suited for resource-constrained devices. SKINNY offering different bit sizes (64, 128, and 256) and rounds( 48, 64 and 96 ). Stream Ciphers : Trivium: Widely used with a strong encryption and decryption design and efficient implementation. Uses 80 bite key size Grain: Another strong option with flexible key sizes and good hardware performance. Uses 128 bite key size. Hash Functions: Keccak (SHA-3):  NIST(National Institute of Standards and Technology)-approved secure hash function with high resistance against collision attacks. Uses SHA3-256(most common) Poly1305:  Compact and efficient hash function suitable for authentication and integrity verification. Uses 128 bits key size

16 Current Status: Algorithm advancements:  Significant progress has been made in developing efficient and secure lightweight algorithms for various cryptographic primitives, including block ciphers , stream ciphers , hash functions. Hardware integration:  Some manufacturers are integrating dedicated hardware accelerators for lightweight cryptography into their chips, further boosting performance and reducing power consumption. Software libraries and tools:  Open-source libraries and tools are readily available for developers to implement lightweight cryptography in their projects.

17 Challenges: Security :  Balancing security strength with resource efficiency remains a challenge. While some algorithms offer strong security . Vulnerability discovery: New vulnerabilities in existing algorithms are always a possibility . Standardization limitations: Existing standards may not encompass all use cases or future advancements, requiring continued standardization efforts. Lack of awareness: Many developers may not be aware of the benefits of lightweight cryptography or lack the expertise to implement it effectively.

18 Future Directions: Research on novel algorithms: Exploring new mathematical approaches and techniques to achieve even greater efficiency and security. Hardware-software co-design: Optimizing algorithms for specific hardware platforms to maximize performance and minimize resource usage. Formal verification and analysis: Rigorously verifying the security of lightweight algorithms to ensure their robustness against attacks. Standardization evolution: Adapting and expanding existing standards to keep pace with technological advancements and emerging use cases.

19 Conclusion Lightweight cryptography is a rapidly evolving field with immense potential to secure the future of resource-constrained devices. Addressing the current challenges and actively pursuing research and development will ensure that lightweight cryptography remains a reliable and efficient tool for building secure and trustworthy systems in various applications.

THANK YOU