A basic introduction into some of the processing required to create Hash functions, compiled by clare.johnson@coleggwent.ac.uk. For educational purposes only. This is intended to provide an overview for IT security students. For a more detailed understanding please visit the references provided at the end.
This presentation has information about what do you mean by an algorithm, what is hashing and various hashing algorithms and their applications. Approximate counting Algorithm and their applications, Counting Distinct Elements Algorithm and their applications and Frequency estimation algorithm and their applications . Also, the research papers we referenced.
Abstract
There is great research going on in the field of data security nowadays. Protecting information from disclosure and breach is of high importance to users personally and to organizations and businesses around the world, as most of information currently are sensitive electronic information transferred over the internet and stored in cloud based system. In this paper, we propose a method to increase the security of messages transferred on the internet, or information stored in the cloud. Our proposed method mainly relies on the Triple Data Encryption Standard (TDES) algorithm. TDES is intact the Data Encryption Standard repeated three times in succession to encrypt data. TDES is considered highly secure as there is no applicable method to break the code itself without knowing the key. We propose to encrypt the key using Cipher Feedback Block algorithm, before using TDES to encrypt data. Such that even when the key is disclosed, the key itself cannot decipher the ciphered text without enciphering the key with CFB. This introduces a new dimension of security to the TDES algorithm.
The method introduced in this paper increases the security of the TDES algorithm using CFB algorithm by increasing the key security, such that it is actually not possible to decipher the text without prior knowledge and agreement of key and algorithms used.
Keywords: Data Encryption Standard, Triple Data Encryption Algorithm, Cipher Feedback Block.
Number Systems — Decimal, Binary, Octal, and Hexadecimal
Base 10 (Decimal) — Represent any number using 10 digits [0–9]
Base 2 (Binary) — Represent any number using 2 digits [0–1]
Base 8 (Octal) — Represent any number using 8 digits [0–7]
Base 16(Hexadecimal) — Represent any number using 10 digits and 6 characters [0–9, A, B, C, D, E, F]
Hash functions are a one-way function, when properly implemented provides protection against collision. They however are susceptible to man-in-the-middle attack.
Data Structure and Algorithms: What is Hash Table pptJUSTFUN40
Outline:
What is a HASH TABLE?
What is a HASH FUNCTION?
What is a HASH COLLISION?
Implementation of a Hash Table
Discussion on collision resolution methods in particular SEPARATE CHAINING and OPEN ADDRESSING
Separate Chaining Implementation
Open Addressing Implementation
Linear Probing
Quadratic Probing
Double Hashing
Modern Block Cipher- Modern Symmetric-Key CipherMahbubur Rahman
Introduction to Modern Symmetric-Key Ciphers- This lecture will cover only "Modern Block Cipher".
Slide Credit: Maleka Khatun & Mahbubur Rahman
Dept. of CSE, JnU, BD.
A brief guide to hashes and their use in encryption, including the recently broken SHA-1 hash algorithm. Updated for the University of South Wales Cyber students.
This presentation has information about what do you mean by an algorithm, what is hashing and various hashing algorithms and their applications. Approximate counting Algorithm and their applications, Counting Distinct Elements Algorithm and their applications and Frequency estimation algorithm and their applications . Also, the research papers we referenced.
Abstract
There is great research going on in the field of data security nowadays. Protecting information from disclosure and breach is of high importance to users personally and to organizations and businesses around the world, as most of information currently are sensitive electronic information transferred over the internet and stored in cloud based system. In this paper, we propose a method to increase the security of messages transferred on the internet, or information stored in the cloud. Our proposed method mainly relies on the Triple Data Encryption Standard (TDES) algorithm. TDES is intact the Data Encryption Standard repeated three times in succession to encrypt data. TDES is considered highly secure as there is no applicable method to break the code itself without knowing the key. We propose to encrypt the key using Cipher Feedback Block algorithm, before using TDES to encrypt data. Such that even when the key is disclosed, the key itself cannot decipher the ciphered text without enciphering the key with CFB. This introduces a new dimension of security to the TDES algorithm.
The method introduced in this paper increases the security of the TDES algorithm using CFB algorithm by increasing the key security, such that it is actually not possible to decipher the text without prior knowledge and agreement of key and algorithms used.
Keywords: Data Encryption Standard, Triple Data Encryption Algorithm, Cipher Feedback Block.
Number Systems — Decimal, Binary, Octal, and Hexadecimal
Base 10 (Decimal) — Represent any number using 10 digits [0–9]
Base 2 (Binary) — Represent any number using 2 digits [0–1]
Base 8 (Octal) — Represent any number using 8 digits [0–7]
Base 16(Hexadecimal) — Represent any number using 10 digits and 6 characters [0–9, A, B, C, D, E, F]
Hash functions are a one-way function, when properly implemented provides protection against collision. They however are susceptible to man-in-the-middle attack.
Data Structure and Algorithms: What is Hash Table pptJUSTFUN40
Outline:
What is a HASH TABLE?
What is a HASH FUNCTION?
What is a HASH COLLISION?
Implementation of a Hash Table
Discussion on collision resolution methods in particular SEPARATE CHAINING and OPEN ADDRESSING
Separate Chaining Implementation
Open Addressing Implementation
Linear Probing
Quadratic Probing
Double Hashing
Modern Block Cipher- Modern Symmetric-Key CipherMahbubur Rahman
Introduction to Modern Symmetric-Key Ciphers- This lecture will cover only "Modern Block Cipher".
Slide Credit: Maleka Khatun & Mahbubur Rahman
Dept. of CSE, JnU, BD.
A brief guide to hashes and their use in encryption, including the recently broken SHA-1 hash algorithm. Updated for the University of South Wales Cyber students.
Computer data representation (integers, floating-point numbers, text, images,...ArtemKovera
How computers represent different types of data.
1) Why learning how computers represent data is important
2) Binary, Octal, and Hexadecimal number systems.
3) A few words about computer memory organization
4) Representing integer numbers in computers
(two's-complement and other encodings)
5) Representing floating-point numbers
(single-precision, double-precision, quadruple-precision)
6) Binary-Coded Decimal (BCD) Representation
7) Introduction to representing text in computers (ASCII, Unicode encodings: UTF-8, UTF-16, etc)
8) Introduction to representing images in computers
9) Introduction to representing sound in computers
10) Books on Artificial Intelligence
In this ppt , you will learn about the evolution of number systems, decimal, binary and hexadecimal and why hexadecima is the most important form of number systems when working with microcontroller programming.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
1. Hashes
A GUIDE TO HASHES (AND SALTED HASHES) IN IT SECURITY
CLARE JOHNSON
2. What are hashes?
Hashes are mathematical functions (or algorithms) that take a string
of data of a variable length and turn it into a numeric string of fixed
length
Text input of
variable length
Numeric output
of fixed length
3. Examples
Any amount of data is converted to a fixed-length “fingerprint”
Cannot be reversed
Any change in the input results in a completely different hash.
hash("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
hash("hbllo") = 58756879c05c68dfac9866712fad6a93f8146f337a69afe7dd238f3364946366
hash("waltz") = c0e81794384491161f1777c232bc6bd9ec38f616560b120fda8e90f383853542
4. Why use hashes?
Hashes are used in databases to make it easier / faster to search for
data
We are interested in the hashes that are used for data encryption –
this may be:
To store sensitive data in encrypted format
To ensure integrity of data
5. Important Properties
A hash is unique, but always repeatable
The word ‘cat’ will hash to something that no other word will hash to,
but it will always hash to the same thing
The function is one way
If you are given the hash value for ‘cat’ you will never be able to
reverse hash it back to the word ‘cat’.
cat 9d989e8d27dc9e0ec3389fc855f142c3d40f0c50
6. Cryptographic Hash Functions
Computationally infeasible to reverse
SHA-1
Produces a string of 160 bits
Specification finalised in 1995
MD5
Quicker to compute than SHA-1
Known to have been attacked
7. This is the process IN BRIEF for SHA-1
HOLD ON TO YOUR HATS…
8. Take your word and convert
Original word
Cat
Convert to ASCII
99 97 116
Convert ASCII codes to binary
01100011 01100001 01110100
Join together and add a 1 to the end
0110001101100001011101001
9. Add a load of zeros…
Your number divided by 512 must have a remainder of 448, so add
as many zeros as necessary to get a remainder of 448
0110001101100001011101001
My message length is 25 (8 * 3 +1)
448 – 25 = 423
Therefore, add 423 zeros to my message, then it will be 448 digits
long
448 / 512 is 0 remainder 448
10. More padding is added
The length of the original message is added next, but it must equal
64 bits, so in our case, as the length was 25, I add the binary of 25
(00011001) preceded by 56 zeros (because 8 digits plus 56 digits = 64
digits) to the end of my message.
Looks like this:
011000110110000101110100100000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000011001
11. Chunk and process
Break the string into chunks of 512 (ours is already 512)
Break the chunks into 16 x 32 bit words
Extend each group of 16 words to 80 words via a looped
algorithm
4 words selected
XOR the words together eg
a 1 and a zero becomes a 1 (1 + 0 = 1)
a zero and a zero becomes a 0 (0 + 0 = 0)
a 1 and a 1 becomes a 0 (1 + 1 = 0)
a 0 and a 1 becomes a 1 (0 + 1 = 1)
12. Process further
The new word is left rotated by 1
The first character is removed and added to the end of the word
The word is added to the next vacant slot (ie on the first loop this will
become word number 16) until there are 80 words in total
A series of functions is carried out on each word, depending on the
number of the word (eg words 0-19 use function 1)
Words are ‘added’ together, and additional digits are truncated.
Convert back to hex
9d989e8d27dc9e0ec3389fc855f142c3d40f0c50
Voila!
13. Overview
Example for account registration
1. User creates an account
2. Password is hashed and stored (as a hash) in the
database
3. When the user attempts to log in, the hash of the
password they enter is checked against the hash of
their real password
4. If the hashes match, the user is granted access.
5. Steps 3 and 4 repeat every time a user tries to log in.
14. Salted hashes
Because hashing always generates the same code from
a given word or phrase, it is possible to crack passwords
by using brute force attacks using common passwords
These attacks can be prevents by randomising hashing
by adding or prepending a random string, called a salt,
prior to hashing.
Salts are stored in the user account database, along
with the hash.
This renders lookup tables, reverse lookups etc useless.
15. References
The first website listed is the one mainly used in this presentation, where
you can hash your own word and see the exact process in action
http://www.metamorphosite.com/one-way-hash-encryption-sha1-
data-software, accessed 8/10/15
https://crackstation.net/hashing-security.htm, accessed 12/10/15
http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf, accessed
14/10/15 (the official Federal Information Processing Standard)
Images sourced from Google for educational purposes only
Editor's Notes
Please note that some of the steps in this walkthrough are deliberately vague – the aim of this presentation is to give an overview into the process, rather than to provide explicit instructions on how to process a hash algorithm. The presentation is aimed at Level 4 / Level 5 Foundation Degree students. References to websites consulted are provided at the end.