1

Тема: Алгоритми Crypo.in.ua

Є такий чудовий сайт crypo.in.ua, так ось мене зацікавили алгоритми всіх тих функцій на ньому бо не про всі чув. Загалом потрібні детальні як можна простіші описи кожного з алгоритмів. Хто може розтлумачити кожен з них?

Подякували: 0xDADA11C72

2

Re: Алгоритми Crypo.in.ua

Так прямо і кожен? Задавайте конкретні питання, хтось та відповість.

3

Re: Алгоритми Crypo.in.ua

от ще коли вчив перл, можна писати як взломщик, так і шифровщик md5, смисл в тому, що все уже можна зробити з модулями таких мов як Perl, Python, PHP

#! /usr/bin/perl
use Digest::MD5 qw(md5_hex);
for("a".."zzzzz") {
if(md5_hex($_) eq "$ARGV[0]")
{
print;
last
}
}
// лише малі букви, не універсальний взломщик
// use: perl program.pl  $md5_hash
// perl crackmd5.pl cdfgf67fjfdkjjfdiuf487y7y5

4

Re: Алгоритми Crypo.in.ua

Там дійсно велика кількість алгоритмів якщо вже існують бібліотеки таких "функцій" то можливо просто використовувати їх без вивчення алгоритму !?. я лише декілька на перший погляд можу зрозуміти і відтворити(секція String Conversion).AES -  симетричний алгоритм блочного шифрування, я читав що було декілька кандидатів на перемогу -програв алгоритм який здався не зрозумілий для членів журі. Вже всі самі найкращі алгоритми і функції створені нам залишається лише їх використовувати бо кращі біль досконалі вже мабуть не вдасться написати, IMHO лише втрата часу. А якщо є велике бажання google допоможе.

5

Re: Алгоритми Crypo.in.ua

olmovc написав:

Там дійсно велика кількість алгоритмів якщо вже існують бібліотеки таких "функцій" то можливо просто використовувати їх без вивчення алгоритму !?. я лише декілька на перший погляд можу зрозуміти і відтворити(секція String Conversion).AES -  симетричний алгоритм блочного шифрування, я читав що було декілька кандидатів на перемогу -програв алгоритм який здався не зрозумілий для членів журі. Вже всі самі найкращі алгоритми і функції створені нам залишається лише їх використовувати бо кращі біль досконалі вже мабуть не вдасться написати, IMHO лише втрата часу. А якщо є велике бажання google допоможе.

Не про всі є інформація в Google :(

6

Re: Алгоритми Crypo.in.ua

А нащо вам всі функції? І напишіть які фіункції гугла не знає.

7

Re: Алгоритми Crypo.in.ua

0xDADA11C7 написав:

А нащо вам всі функції? І напишіть які фіункції гугла не знає.

Інфи мало по алгоритмам з цих розділів:
1. Unique Hash Generator
2. Strong Encryptors (Encode / Encrypt or Decode / Decrypt)

8

Re: Алгоритми Crypo.in.ua

Є книжка автор Брюс Шнаєр (на рос. або англ. мовах), там є про різні шифроалгоритми теорія, і коди на С для більшості з них.

9

Re: Алгоритми Crypo.in.ua

А взагалі..сайт жеж на javascript, тобто можна подивитись код всіх алгоритмів.

10

Re: Алгоритми Crypo.in.ua

morgot написав:

сайт жеж на javascript

є javascript який працює на сервері (щось типу PHP)

11

Re: Алгоритми Crypo.in.ua

Оригіналом є crypo.com, який було злито десь 11го року. Можна й досі знайти посилання в мережі на ці сирці. За приклад - http://adfa.st/VWfa

Подякували: reverse2500, morgot, HetmanNet3

12

Re: Алгоритми Crypo.in.ua

reverse2500 написав:

є javascript який працює на сервері (щось типу PHP)

в данному випадку все таки клієнтський js.

13 Востаннє редагувалося HetmanNet (26.04.2015 14:53:47)

Re: Алгоритми Crypo.in.ua

morgot написав:
reverse2500 написав:

є javascript який працює на сервері (щось типу PHP)

в данному випадку все таки клієнтський js.

Який прочитати нереально  *FACEPALM*
<script language=JavaScript>eval(unescape('var%20zipco_bas%3D%27ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%2B%2F%27%3B%20function%20zipco_dec%28str%29%20%7B%20str%3Dstr.split%28%27%40%27%29.join%28%27CAg%27%29%3B%20str%3Dstr.split%28%27%21%27%29.join%28%27W5%27%29%3B%20str%3Dstr.split%28%27%2A%27%29.join%28%27CAgI%27%29%3B%20var%20bt%2C%20dt%20%3D%20%27%27%3B%20for%28i%3D0%3B%20i%3Cstr.length%3B%20i%20%2B%3D%204%29%20%7B%20bt%20%3D%20%28zipco_bas.indexOf%28str.charAt%28i%29%29%20%26%200xff%29%20%3C%3C18%20%7C%20%28zipco_bas.indexOf%28str.charAt%28i%20%2B1%29%29%20%26%200xff%29%20%3C%3C12%20%7C%20%28zipco_bas.indexOf%28str.charAt%28i%20%2B2%29%29%20%26%200xff%29%20%3C%3C%206%20%7C%20zipco_bas.indexOf%28str.charAt%28i%20%2B3%29%29%20%26%200xff%3B%20dt%20%2B%3D%20String.fromCharCode%28%28bt%20%26%200xff0000%29%20%3E%3E16%2C%20%28bt%20%26%200xff00%29%20%3E%3E8%2C%20bt%20%26%200xff%29%3B%20%7D%20if%28str.charCodeAt%28i%20-2%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%
20-2%29%29%3B%20%7D%20else%20if%28str.charCodeAt%28i%20-1%29%20%3D%3D%2061%29%20%7B%20return%28dt.substring%280%2C%20dt.length%20-1%29%29%3B%20%7D%20else%20%7Breturn%28dt%29%7D%3B%20%7D')); document.write(zipco_dec('PHNjcmlwdCBsY!ndWFnZT1KYXZhU2NyaXB0Pg0KZnVuY3Rpb24gY29tcGxldGVFc2NhcGUob1N0cmluZykgeyB2YXIgc3RyQXJyYXkgPSBuZXcgQXJyYXkoKSwgZnJvbUNoYXIgPSBuZXcgQXJyYXkoKTsgZm9yKCB2YXIgeCA9IDA7IHggPCBvU3Rya!nLmxlbmd0aDsgeCsrICkgeyBzdHJBcnJheVt4XSA9IG9TdHJpbmcuY2hhckF0KCB4ICk7IH0gZnJvbUNoYXJbJ2EnXSA9ICc2MSc7IGZyb21DaGFyWydiJ10gPSAnNjInOyBmcm9tQ2hhclsnYyddID0gJzYzJzsgZnJvbUNoYXJbJ2QnXSA9ICc2NCc7IGZyb21DaGFyWydlJ10gPSAnNjUnOyBmcm9tQ2hhclsnZiddID0gJzY2JzsgZnJvbUNoYXJbJ2cnXSA9ICc2Nyc7IGZyb21DaGFyWydoJ10gPSAnNjgnOyBmcm9tQ2hhclsnaSddID0gJzY5JzsgZnJvbUNoYXJbJ2onXSA9ICc2QSc7IGZyb21DaGFyWydrJ10gPSAnNkInOyBmcm9tQ2hhclsnbCddID0gJzZDJzsgZnJvbUNoYXJbJ20nXSA9ICc2RCc7IGZyb21DaGFyWyduJ10gPSAnNkUnOyBmcm9tQ2hhclsnbyddID0gJzZGJzsgZnJvbUNoYXJbJ3AnXSA9ICc3MCc7IGZyb21DaGFyWydxJ10gPSAnNzEnOyBmcm9tQ2hhclsnciddID0gJzcyJzsgZnJvbUNoYXJbJ3MnXS
A9ICc3Myc7IGZyb21DaGFyWyd0J10gPSAnNzQnOyBmcm9tQ2hhclsndSddID0gJzc1JzsgZnJvbUNoYXJbJ3YnXSA9ICc3Nic7IGZyb21DaGFyWyd3J10gPSAnNzcnOyBmcm9tQ2hhclsneCddID0gJzc4JzsgZnJvbUNoYXJbJ3knXSA9ICc3OSc7IGZyb21DaGFyWyd6J10gPSAnN0EnOyBmcm9tQ2hhclsnQSddID0gJzQxJzsgZnJvbUNoYXJbJ0InXSA9ICc0Mic7IGZyb21DaGFyWydDJ10gPSAnNDMnOyBmcm9tQ2hhclsnRCddID0gJzQ0JzsgZnJvbUNoYXJbJ0UnXSA9ICc0NSc7IGZyb21DaGFyWydGJ10gPSAnNDYnOyBmcm9tQ2hhclsnRyddID0gJzQ3JzsgZnJvbUNoYXJbJ0gnXSA9ICc0OCc7IGZyb21DaGFyWydJJ10gPSAnNDknOyBmcm9tQ2hhclsnSiddID0gJzRBJzsgZnJvbUNoYXJbJ0snXSA9ICc0Qic7IGZyb21DaGFyWydMJ10gPSAnNEMnOyBmcm9tQ2hhclsnTSddID0gJzREJzsgZnJvbUNoYXJbJ04nXSA9ICc0RSc7IGZyb21DaGFyWydPJ10gPSAnNEYnOyBmcm9tQ2hhclsnUCddID0gJzUwJzsgZnJvbUNoYXJbJ1EnXSA9ICc1MSc7IGZyb21DaGFyWydSJ10gPSAnNTInOyBmcm9tQ2hhclsnUyddID0gJzUzJzsgZnJvbUNoYXJbJ1QnXSA9ICc1NCc7IGZyb21DaGFyWydVJ10gPSAnNTUnOyBmcm9tQ2hhclsnViddID0gJzU2JzsgZnJvbUNoYXJbJ1cnXSA9ICc1Nyc7IGZyb21DaGFyWydYJ10gPSAnNTgnOyBmcm9tQ2hhclsnWSddID0gJzU5JzsgZnJvbUNoYXJbJ1onXSA9ICc1QSc7IGZyb21DaGFyWycwJ10gPSAnMzAnOyBmcm9tQ2hhclsnMS
ddID0gJzMxJzsgZnJvbUNoYXJbJzInXSA9ICczMic7IGZyb21DaGFyWyczJ10gPSAnMzMnOyBmcm9tQ2hhclsnNCddID0gJzM0JzsgZnJvbUNoYXJbJzUnXSA9ICczNSc7IGZyb21DaGFyWyc2J10gPSAnMzYnOyBmcm9tQ2hhclsnNyddID0gJzM3JzsgZnJvbUNoYXJbJzgnXSA9ICczOCc7IGZyb21DaGFyWyc5J10gPSAnMzknOyBmcm9tQ2hhclsnKiddID0gJzJBJzsgZnJvbUNoYXJbJy8nXSA9ICcyRic7IGZyb21DaGFyWydfJ10gPSAnNUYnOyBmcm9tQ2hhclsnKyddID0gJzJCJzsgZnJvbUNoYXJbJy0nXSA9ICcyRCc7IGZyb21DaGFyWydAJ10gPSAnNDAnOyBmcm9tQ2hhclsnLiddID0gJzJFJzsgZm9yKCB2YXIgeCA9IDA7IHggPCBzdHJBcnJheS5sZ!ndGg7IHgrKyApIHsgc3RyQXJyYXlbeF0gPSAoIHN0ckFycmF5W3hdID09IGVzY2FwZSggc3RyQXJyYXlbeF0gKSApID8gKCBmcm9tQ2hhcltzdHJBcnJheVt4XV0gKSA6IGVzY2FwZSggc3RyQXJyYXlbeF0gKS5yZXBsYWNlKCAvJS8sICcnICk7IH0gcmV0dXJuIHN0ckFycmF5LmpvaW4oICcnICk7IH0NCmZ1bmN0aW9uIGNvbXBsZXRlSGFzaChvU3Rya!nLG9LZXkpIHsgaWYoIG9LZXkubGVuZ3RoIDwgNiApIHsgd2luZG93LmFsZXJ0KCAnVGhlIGtleSBtdXN0IGJlIGF0IGxlYXN0IDMgY2hhcmFjdGVycyBsb25nJyApOyByZXR1cm4gb1N0cmluZzsgfSB2YXIgb0tleU51bSA9IG5ldyBBcnJheSgpLCBvT3V0U3RyID0gJycsIG9PcCA9IG5ldyBBcnJheSgnKz0nLCcvPScsJy09JywnKj0gMC4wMSAq
Jyk7IGZvciggdmFyIHggPSAwOyB4IDwgb0tleS5sZ!ndGg7IHgrKyApIHsgb0tleU51bVt4XSA9IHBhcnNlS!0KCAnMHgnICsgY29tcGxldGVFc2NhcGUoIG9LZXkuY2hhckF0KCB4ICkgKSApOyB9IGZvciggdmFyIHggPSAwLCB5ID0gJyc7IHggPCBvU3Rya!nLmxlbmd0aDsgeCArPSBNYXRoLnJvd!kKCBvS2V5Lmxlbmd0aCAvIDUgKSwgeSA9ICcgJyApIHsgdmFyIHRoZU51bSA9IHBhcnNlS!0KCAnMHgnICsgY29tcGxldGVFc2NhcGUoIG9TdHJpbmcuc3Vic3RyKCB4LCBNYXRoLnJvd!kKCBvS2V5Lmxlbmd0aCAvIDUgKSApICkgKTsgaWYoIGlzTmFOKCB0aGVOdW0gKSApIHsgd2luZG93LmFsZXJ0KCAnR!jcnlwdGlvbiBmYWlsZWQhJyApOyByZXR1cm4gb1N0cmluZzsgfSBmb3IoIHZhciB6ID0gMDsgeiA8IG9LZXkubGVuZ3RoOyB6KysgKSB7IGV2YWwoICd0aGVOdW0gJyArIG9PcFt6ICUgMV0gKyAnICcgKyBvS2V5TnVtW3pdICsgJzsnICk7IH0gb091dFN0ciArPSB5ICsgdGhlTnVtOyB9IHJldHVybiBvT3V0U3RyOyB9DQo8L3NjcmlwdD4=')); </script>
Хоча після crypo.ru вже трохи зрозуміліше, хоча JavaScript не знаю  *SORRY*
eval(unescape('var zipco_bas='
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 + /'; function zipco_dec(str) { str=str.split('@').join('CAg'); str=str.split('!').join('W5'); str=str.split('*').join('CAgI'); var bt, dt = ''; for(i=0; i<str.length; i += 4) { bt = (zipco_bas.indexOf(str.charAt(i)) & 0xff) <<18 | (zipco_bas.indexOf(str.charAt(i +1)) & 0xff) <<12 | (zipco_bas.indexOf(str.charAt(i +2)) & 0xff) << 6 | zipco_bas.indexOf(str.charAt(i +3)) & 0xff; dt += String.fromCharCode((bt & 0xff0000) >>16, (bt & 0xff00) >>8, bt & 0xff); } if(str.charCodeAt(i -2) == 61) { return(dt.substring(0, dt.length%
20-2)); } else if(str.charCodeAt(i -1) == 61) { return(dt.substring(0, dt.length -1)); } else {return(dt)}; }'));
document.write(zipco_dec('PHNjcmlwdCBsY!ndWFnZT1KYXZhU2NyaXB0Pg0KZnVuY3Rpb24gY29tcGxldGVFc2NhcGUob1N0cmluZykgeyB2YXIgc3RyQXJyYXkgPSBuZXcgQXJyYXkoKSwgZnJvbUNoYXIgPSBuZXcgQXJyYXkoKTsgZm9yKCB2YXIgeCA9IDA7IHggPCBvU3Rya!nLmxlbmd0aDsgeCsrICkgeyBzdHJBcnJheVt4XSA9IG9TdHJpbmcuY2hhckF0KCB4ICk7IH0gZnJvbUNoYXJbJ2EnXSA9ICc2MSc7IGZyb21DaGFyWydiJ10gPSAnNjInOyBmcm9tQ2hhclsnYyddID0gJzYzJzsgZnJvbUNoYXJbJ2QnXSA9ICc2NCc7IGZyb21DaGFyWydlJ10gPSAnNjUnOyBmcm9tQ2hhclsnZiddID0gJzY2JzsgZnJvbUNoYXJbJ2cnXSA9ICc2Nyc7IGZyb21DaGFyWydoJ10gPSAnNjgnOyBmcm9tQ2hhclsnaSddID0gJzY5JzsgZnJvbUNoYXJbJ2onXSA9ICc2QSc7IGZyb21DaGFyWydrJ10gPSAnNkInOyBmcm9tQ2hhclsnbCddID0gJzZDJzsgZnJvbUNoYXJbJ20nXSA9ICc2RCc7IGZyb21DaGFyWyduJ10gPSAnNkUnOyBmcm9tQ2hhclsnbyddID0gJzZGJzsgZnJvbUNoYXJbJ3AnXSA9ICc3MCc7IGZyb21DaGFyWydxJ10gPSAnNzEnOyBmcm9tQ2hhclsnciddID0gJzcyJzsgZnJvbUNoYXJbJ3MnXS
A9ICc3Myc7IGZyb21DaGFyWyd0J10gPSAnNzQnOyBmcm9tQ2hhclsndSddID0gJzc1JzsgZnJvbUNoYXJbJ3YnXSA9ICc3Nic7IGZyb21DaGFyWyd3J10gPSAnNzcnOyBmcm9tQ2hhclsneCddID0gJzc4JzsgZnJvbUNoYXJbJ3knXSA9ICc3OSc7IGZyb21DaGFyWyd6J10gPSAnN0EnOyBmcm9tQ2hhclsnQSddID0gJzQxJzsgZnJvbUNoYXJbJ0InXSA9ICc0Mic7IGZyb21DaGFyWydDJ10gPSAnNDMnOyBmcm9tQ2hhclsnRCddID0gJzQ0JzsgZnJvbUNoYXJbJ0UnXSA9ICc0NSc7IGZyb21DaGFyWydGJ10gPSAnNDYnOyBmcm9tQ2hhclsnRyddID0gJzQ3JzsgZnJvbUNoYXJbJ0gnXSA9ICc0OCc7IGZyb21DaGFyWydJJ10gPSAnNDknOyBmcm9tQ2hhclsnSiddID0gJzRBJzsgZnJvbUNoYXJbJ0snXSA9ICc0Qic7IGZyb21DaGFyWydMJ10gPSAnNEMnOyBmcm9tQ2hhclsnTSddID0gJzREJzsgZnJvbUNoYXJbJ04nXSA9ICc0RSc7IGZyb21DaGFyWydPJ10gPSAnNEYnOyBmcm9tQ2hhclsnUCddID0gJzUwJzsgZnJvbUNoYXJbJ1EnXSA9ICc1MSc7IGZyb21DaGFyWydSJ10gPSAnNTInOyBmcm9tQ2hhclsnUyddID0gJzUzJzsgZnJvbUNoYXJbJ1QnXSA9ICc1NCc7IGZyb21DaGFyWydVJ10gPSAnNTUnOyBmcm9tQ2hhclsnViddID0gJzU2JzsgZnJvbUNoYXJbJ1cnXSA9ICc1Nyc7IGZyb21DaGFyWydYJ10gPSAnNTgnOyBmcm9tQ2hhclsnWSddID0gJzU5JzsgZnJvbUNoYXJbJ1onXSA9ICc1QSc7IGZyb21DaGFyWycwJ10gPSAnMzAnOyBmcm9tQ2hhclsnMS
ddID0gJzMxJzsgZnJvbUNoYXJbJzInXSA9ICczMic7IGZyb21DaGFyWyczJ10gPSAnMzMnOyBmcm9tQ2hhclsnNCddID0gJzM0JzsgZnJvbUNoYXJbJzUnXSA9ICczNSc7IGZyb21DaGFyWyc2J10gPSAnMzYnOyBmcm9tQ2hhclsnNyddID0gJzM3JzsgZnJvbUNoYXJbJzgnXSA9ICczOCc7IGZyb21DaGFyWyc5J10gPSAnMzknOyBmcm9tQ2hhclsnKiddID0gJzJBJzsgZnJvbUNoYXJbJy8nXSA9ICcyRic7IGZyb21DaGFyWydfJ10gPSAnNUYnOyBmcm9tQ2hhclsnKyddID0gJzJCJzsgZnJvbUNoYXJbJy0nXSA9ICcyRCc7IGZyb21DaGFyWydAJ10gPSAnNDAnOyBmcm9tQ2hhclsnLiddID0gJzJFJzsgZm9yKCB2YXIgeCA9IDA7IHggPCBzdHJBcnJheS5sZ!ndGg7IHgrKyApIHsgc3RyQXJyYXlbeF0gPSAoIHN0ckFycmF5W3hdID09IGVzY2FwZSggc3RyQXJyYXlbeF0gKSApID8gKCBmcm9tQ2hhcltzdHJBcnJheVt4XV0gKSA6IGVzY2FwZSggc3RyQXJyYXlbeF0gKS5yZXBsYWNlKCAvJS8sICcnICk7IH0gcmV0dXJuIHN0ckFycmF5LmpvaW4oICcnICk7IH0NCmZ1bmN0aW9uIGNvbXBsZXRlSGFzaChvU3Rya!nLG9LZXkpIHsgaWYoIG9LZXkubGVuZ3RoIDwgNiApIHsgd2luZG93LmFsZXJ0KCAnVGhlIGtleSBtdXN0IGJlIGF0IGxlYXN0IDMgY2hhcmFjdGVycyBsb25nJyApOyByZXR1cm4gb1N0cmluZzsgfSB2YXIgb0tleU51bSA9IG5ldyBBcnJheSgpLCBvT3V0U3RyID0gJycsIG9PcCA9IG5ldyBBcnJheSgnKz0nLCcvPScsJy09JywnKj0gMC4wMSAq
Jyk7IGZvciggdmFyIHggPSAwOyB4IDwgb0tleS5sZ!ndGg7IHgrKyApIHsgb0tleU51bVt4XSA9IHBhcnNlS!0KCAnMHgnICsgY29tcGxldGVFc2NhcGUoIG9LZXkuY2hhckF0KCB4ICkgKSApOyB9IGZvciggdmFyIHggPSAwLCB5ID0gJyc7IHggPCBvU3Rya!nLmxlbmd0aDsgeCArPSBNYXRoLnJvd!kKCBvS2V5Lmxlbmd0aCAvIDUgKSwgeSA9ICcgJyApIHsgdmFyIHRoZU51bSA9IHBhcnNlS!0KCAnMHgnICsgY29tcGxldGVFc2NhcGUoIG9TdHJpbmcuc3Vic3RyKCB4LCBNYXRoLnJvd!kKCBvS2V5Lmxlbmd0aCAvIDUgKSApICkgKTsgaWYoIGlzTmFOKCB0aGVOdW0gKSApIHsgd2luZG93LmFsZXJ0KCAnR!jcnlwdGlvbiBmYWlsZWQhJyApOyByZXR1cm4gb1N0cmluZzsgfSBmb3IoIHZhciB6ID0gMDsgeiA8IG9LZXkubGVuZ3RoOyB6KysgKSB7IGV2YWwoICd0aGVOdW0gJyArIG9PcFt6ICUgMV0gKyAnICcgKyBvS2V5TnVtW3pdICsgJzsnICk7IH0gb091dFN0ciArPSB5ICsgdGhlTnVtOyB9IHJldHVybiBvT3V0U3RyOyB9DQo8L3NjcmlwdD4='));

14

Re: Алгоритми Crypo.in.ua

reverse2500 написав:
morgot написав:

сайт жеж на javascript

є javascript який працює на сервері (щось типу PHP)

NodeJS

15

Re: Алгоритми Crypo.in.ua

HetmanNet написав:

Який прочитати нереально  *FACEPALM*

для base64-рядків є багато онлайн декодерів, код де йде шось вида eval(...) міняєте на alert/document.write (тоді код не виконається, а виведется), а далі уже дивитись по ситуації. В хромі по ф12 можна найти дебагер, де є брекпойнти і інші корисні речі для дебага яваскріпт.