What is tiger192,4 in PHP?

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

PHP supports hashing of the following Tiger algorithms:

  • tiger128,3
  • tiger160,3
  • tiger192,3
  • tiger128,4
  • tiger160,4
  • tiger192,4

Wikipedia's entry on Tiger says there's Tiger and Tiger2 and provides samples of Tiger and Tiger2 with 192-bit hashes of "The quick brown fox jumps over the lazy dog". So I tried to get PHP to tell me what the hashes of tiger192,3 and tiger192,4 are and...

The output of tiger192,3 matches what Wikipedia says the output is for Tiger(1). But tiger192,4's output does not match the output for Tiger2.

Tiger2's output is as follows:

976abff8062a2e9dcea3a1ace966ed9c19cb85558b4976d8

tiger192,4's output is as follows:

c1f3a704e9f6267e9f75fa47191f83c354100a04c4f1dc6f

tiger192,3 and Tiger's output is as follows:

6d12a41e72e644f017b6f0e2f7b44c6285f06dd5d2c5b075

So what is tiger192,4?

profilepic.png
manpreet 2 years ago

 

A quick look into the PHP code showed that PHP only understands the Tiger hash (the first one with incorrect com/tag/bit">bit padding).

It also showed that their implementation of Tiger may contain "additional passes", where each pass consists of 8 rounds (only called for values higher than 3). The value of passes is displayed behind the hash function:

#define compress(passes) \
    save_abc \
    pass(a,b,c,5) \
    key_schedule \
    pass(c,a,b,7) \
    key_schedule \
    pass(b,c,a,9) \
    for(pass_no=0; pass_nochedule \
        pass(a,b,c,9) \
        tmpa=a; a=c; c=b; b=tmpa; \
    } \
    feedforward

There seems to be no documentation other than this. Don't use cryptographic primitives that lack any com/tag/description">description.


I've generated the same C1... hash by adding the 8 additional rounds in a Java application (and then deleted said Java implementation).


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.