Author: maroon
Added: 3y
Updated: Never
mIRC: v6.35 & up
Hits: 792
Downloads: 8
Review: westor
Size: 4.95KB
1 0
Login to vote.
PGP word list
v1.0
Sometimes there's a need to verify a program.exe's hash. Or with public key cryptography, the need to confirm that someone hasn't changed the public key being presented to you as belonging to someone else. When most people look at a long string of hex digits, they look at the beginning and end, but often don't look at the middle very carefully, but it's important that all numbers are correct.
The PGP word list is a list of words distinctive from each other, which lets you make a confirmation using a list of English words instead of verifying a long list of hex digits.
This system uses 2 word lists, each having 256 words in them, so there is a separate list for the even and odd hex pair of digits, and each 2-digit hex value has its own 'word'. By having a separate list for odd and even bytes, this helps defend against accidental repeating, skipping, or transposing words. Once you have confirmed the identity of the person you're speaking to, you can quickly share the lengths of MD5, SHA1 or SHA256 hashes using a list of 16, 20, or 32 words.
More info at https://en.wikipedia.org/wiki/PGP_word_list
; if copying this into your aliases tab, be sure to delete the "alias" prefix alias pgp_word_list { echo -agtc info by $+(maroon $chr(169),2020) Syntax: /pgp_word_list even length hex string with optional spaces echo -agtc info example: /pgp_word_list deadbeef or /pgp_word_list fa ce ca fe echo -agtc info Returns a list of biometric words used to transmit a hex 'fingerprint' by voice, where each word represents 2 hex digits echo -agtc info 2 people can verify they have matching hex strings by confirming that the list of words spoken by the other person matches their own calculated word list echo -agtc info even and odd hex pairs use a different list of words, to help detect skipping/repeating/transposed words bset -tc &maroon 1 eNollUmS5DYMRa/Cq3TbEV55iLDDC+8oCpJYSRJsDqlWnd4PrEXyQyli/oC8b/vbt5fzW59tdz6ENgXIHHuLxwBm4jyOFAN4iedazEl6d9/Sqcn5lPTm1IJSzup8CVEKl2tN/NVG7Dz0PrH6bVxSuvMjefQ/hwS3+U21AOF1REn7km4iQygf6jbxOZYT3JPPFZQrvsWw3/4neDT87e67pMPjapPWhaS2mFJcdmI3Bwm7H/yQNLz8LibcQ1u4kKZs0e5q3pYR1Ve/sOi2hk7s3GkknyJpmvSahNJieD3LBSEcwXdx32cjbpzMMczr/Py0C0Gy1SRcPrZkhUUaQxoowWyFK3ZJgL4sW7BWXv9yNcqXqVYge4somdR7DF/YVDOS+GJGLLNbST4ocXNm3AZB4Gx41XtbJiypXe9iUnk9gN6HKjfaDNHbjZnp325Ct2KFueFz9/3a1DLaqcamkGMngcvTgF3Pbhp782eRYRiLPwWBu8dMbnGKrPb2ld2OE/prV2d5SXG/zqqUab8J0srAuwW7sU/Oc/FP4nmNDd452q40e+HNmYxq0qwP0oOvwM8ghCSPnFYtEwZpXu7wK83D6DuHO5I/q8JXhLEKcaRnNF/dQanGbGJCllXco2GTskM8IiHs038SsLjfCI20zhRXb880gxLLqefJxIBpP4xKZ5NMfu6ccffWn8szUsNd2FsUcReNlMdFEiNDw5moZCxvY7ehJoYg9mSV//D3ZvOHyldzXhBTjwO8o3sl/xMqwg1PjEYRqJKlxeGYrELlMtxr7ne9/P1yeTYKk6dRrNBb5kbcH1LHxEMRPLXiyuqBTcyf/rVi0G1MIsNrUpqkdaDPcHlX/bP7x1Xx4QLoYfc0uV5Pjz/YNzX551JT/ivNoa42CWlCOYSDuIB+GUGQYhnrH72T4awx2Vmx+4yLLH9MNpeZ/zHZEg3Q4R2MHJH90/xg4IZrNu2wAAfaMnBCVYA6C0q0xy6CxM45dK6ntxSa0GStp3bhEd24BSM5oZ1rHppusxvQQUxNCgIDu4+J3gyEe7f38BOOE3EPUihVD0reZvjvoGOVtItfJWYxCPzvbJA1zf3yxncgmxcEvU/2iuuvmRK8R3h2W5LdpojXKLPr1sD34uvaYiZ8vYICSwlEgcJ3Tcoxx7Uy7fowpahWX1jRoPi2RhEppS1arPS1aTQhnma08i906/X5mrw+qNLaEyYVP8SE2G4qjFD25WkQHFXrQ2zbxWpSW6ugD1LNFsXQeq/2ILWM9jw9KrNlnTS+T6IqsKnfrI9teWSfGG8GoxxDB/lccVab5+yG5Cq0ZKzp5XvVYSXbm67gK6u9soVpL+FWj+t5Zg9QhcyHxv3T9IPgRtO5kfaYWbk9S6Fe4wn2iZslsGmYIm/Um+W2uk24TLlm7bJOa8jbV5TfmDVivSMb2P07aWxxt32KBUi2L1YZSGFHYpjo3B3X5/hW5WvJqvpvpvk/ZnADTw noop $decode(&maroon,bm2) $decompress(&maroon,b) var %even $bvar(&maroon,1-).text bset -tc &maroon 1 eNo1lt2O3DYMhV9Fr5ImRdsAaQIUaNBLjizbwsiiqh/Pep++H+XtzfKsJZEUeXg0slSNPYfWnCxnbKE6WXuoh/TdybbVsEkPTtJTUsQccdv75eQYKXQzLRwhg3IPOYuTUlL0/Oc+FU1JndQjth49PiomYRv+NS7uU09sjN5JP7SVPVQWR9fSLveLPK6k2T3EP19kUEH1EfwI7hGSvraqIy/uEVf1kpp76HJtQyqfVJ8tpGRHtC6hppg5pL3rkeyev1RZHqNe7lHllEXtw3tMUYhWgzzlJcQfdm7rlsJo0Qp02IbRyWWV7j7LQR7dcdclLlYjUNb8kJRYLDV6rZmPFmTa0OVJUj6kQGQ7QJYjaTNEbdbL+V2OhxWf6nymHvoMAUBBN3XUrm6XZeHVapWpqdeD9HpU+3iwxnUARfI1rWZrjtfsR60fcI3Lx9m86uyOwf87DWwht9EmGqlTBWAteuestWq7443sY5r58KnpaZerw8c1vjk/7CJND46QILa6L/LULm4JXu4MvgQfbJt9iockbItbtohL6MF3rRPUzVKf6LBmLtF3mYsxa5NhoLLd0lpik0eyPQ2ixLAaqqP0eM6PHLv3KSmaW8vg/Z0TpLQbH4kecoW89zLErnSTLoV/h8yzgFju1ealcBv3a3vGQ12gCNcCf8KbzFTDGyHnZcObLlR1leZjtlKuMcl0ssYc/fNydMPOm+2xD7yulVCcvtwmyxY6pP1N0hma8ZL/J1U3KNSEpc2sFXqD4cNCAM7IuG4jdqnWaSPYoJ7V/U6CyfzsxuCX1ifonQlSstyDLHPsDEKRezh32tPN7w6FZuxd05wNt8Mvm3vWrqXKQARchIfchL6CQsdtpBBlljASE05z2HZgV7FrYkPN9t2oaTISc7NTRAeNmwmRnmyTjobyh8PTEE3+o3XJj5HcV2GQvLivo0RTkBQKRL2wNsR2RZci9KNAB9XpEbKie34/5qAeQjNojPsWaJy4wwaESEc0vnst4YYv9oGWNg4rPlVNJCQwElzFJI8K5jkChyZpLTQDiBlL3zSTLt4133xECqFXV5elcke7UQ5cRzCvdufu/tT6CptJ1nemxEbo+x7VaU6oH/9pwTfOvtc0NUFHX2NIqKH7ITah3qERC631fGBHFT6UgFcTeHBFcvJtq5R9ooORtzVukI1CJdDEikT9oDQmGSVkSGqNwdVs9Tnh3UyGoOy8B0Kjy440mfYDun6EoGzB3Kp/hr7SQZ4QOjcJVlCd253a7Dta6fmOCIBOKGI8A74hJBZ/3I3Fpth283pxAXSVIYYnLNEawljAGpAKaxrIR/qKmXJWQ7GXhEuD7F0zW5ljb3vaVBMD6Gyz3Krd/tYhgzGcJGWI5w19cjbfedi+M95LpyYL1OiBpJfqAmQEEQT3l/RRTUsaLwjlBnioNitvEn1rUVNuboLXdLAYWSMUxbBpNwhzqAci1PcP1rY+aNSc8zZKMbUh9zZfCGMInSzRx7l+McN9v1xHN3RUk7TOAzbb5zp1lWKB4KB4r1geqdlpJN+eihegwhOWEKU4UwaZhOG08nxxV3NQeU1IdHH9KuFV58Da6zO7yVMvUI/VYRmuysM78v3CYnk5+Usdm20178mNwvtnWn6Kn9JCDYVgiztNctCev2PdUF5x/OyJ1sjTfkpYMqdeVnD3sgnMJPrTpJDRcq89Hg0eJPcz+h0xxKbj44fCz+uOeAX7hXMFqe6fwaUk/weigKSx noop $decode(&maroon,bm) $decompress(&maroon,bm2) var %odd $bvar(&maroon,1-).text var %input $remove($1-,$chr(32)) , %voiceprint , %pointer 0 if (!$regex(foo,%input,^(?:[0-9a-fA-F]{2})+$)) { echo -a syntax error! | return } while (%input != $null) { var %token $base($left(%input,2),16,10) + 1 , %input $mid(%input,3) var %voiceprint %voiceprint $gettok($iif($calc(%pointer % 2),%odd,%even),%token,32) inc %pointer } echo -agtc info This assumes you can recognize the voice of the other person, and have verified that you're speaking to that actual person. Do not accept the fingerprint unless the word list contains all the words in their correct order. echo -agtc info This voice print contains %pointer words and the final word is $gettok(%voiceprint,-1,32) - Voiceprint from hex string $qt($1-) is: echo -agtc ctcp %voiceprint | return }
0
Admin
Great job!
Admin
But, if you've copied this script into the mirc.ini folder before installing it, you can get the md5 checksum of the script file like:
//echo -a $md5(qDxaW.mrc,2) which is 614cdeeb02da446f2ac38a70b8ef9b6e
Since most people's eyes glaze over long before the end of the string, and have hard time noticing a difference between 7's and 1's, the 32 hex digits are changed to be words.
/pgp_word_list 614cdeeb02da446f2ac38a70b8ef9b6e which gives 16 words:
fallout disbelief tactics underfoot accrue surrender crumpled hemisphere brickyard replica Oakland hesitate select unravel puppy headwaters
Admin
https://mircscripts.info/?page=project&id=GOTv3T1ydH