[Design] Cryptographic Hash, MD5 and Digital signature - Shuatiblog.com



[Design] Cryptographic Hash, MD5 and Digital signature - Shuatiblog.com

Cryptographic hash function is a hash function which is considered practically impossible to invert.

The input is arbitrary length, and output is fixed length.

The input is called 'message' and output (the hash value) is called 'digest'.

Common examples are:

  1. MD5
    1. 128-bit (16-byte) hash value, typically expressed with 32 digit hex number
    2. have colllision attack risks
  2. SHA-1 (said to be better than MD5)
    1. 160-bit (20-byte) hash value, typically expressed with 40 digit hex number
    2. No known collision found so far

Properties

  1. Computationally efficient
  2. Collision resistant
  3. Hide information
  4. Look random

Examples

I generated checksum values on an important file I backed up to ensure that everything went OK. source

To verify that the latest version of Firefox I was downloading is correct, I ran a cryptographic hash function, SHA-1 to be exact, on the download and compared that checksum with the one published on Mozilla's site. source

Digital signature

Digital signature is a mathematical scheme for demonstrating the authenticity of a digital message. It uses public/private keys.

In practice, the signature is not used directly on the file, but rather on the digest of the file.

Video on digital signature.


Read full article from [Design] Cryptographic Hash, MD5 and Digital signature - Shuatiblog.com


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts