ΠΠΠΠΠΠΠΠ! ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΡΠΊΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠ΄ Π±ΡΠ» Π½Π°ΠΏΠΈΡΠ°Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΡΠ΅Π±Π½ΡΡ ΡΠ΅Π»ΡΡ . ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅!
ΠΠ°Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ RSA, Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ.
const RSA = require('./rsa');
const message = 'Rivest, Shamir, Adleman';
const keys = RSA.generate(250);
console.log('ΠΠ»ΡΡΠΈ');
console.log('ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ:', keys.n.toString());
console.log('ΠΡΠΈΠ²Π°ΡΠ½ΡΠΉ:', keys.d.toString());
console.log('ΠΡΠ±Π»ΠΈΡΠ½Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ°:', keys.e.toString());
const encoded_message = RSA.encode(message);
const encrypted_message = RSA.encrypt(encoded_message, keys.n, keys.e);
const decrypted_message = RSA.decrypt(encrypted_message, keys.d, keys.n);
const decoded_message = RSA.decode(decrypted_message);
console.log('Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅:', message);
console.log('ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅:', encoded_message.toString());
console.log('Π Π°ΡΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅:', decoded_message.toString());
console.log('ΠΠ°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅:', encrypted_message.toString());
console.log('Π Π°ΡΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅:', decrypted_message.toString());