Biarkan cahaya bersinar



Karya Jim Sanborn (Jim Sanborn) Kryptos belum diuraikan. Ini mungkin salah satu tugas kriptografi yang paling terkenal dan menarik yang belum terselesaikan saat ini. Atau mungkin bunga yang secara artifisial meningkat.

Cryptos muncul di hub bukan hanya sekali, tetapi satu , dua , tiga .

Tetapi kita tidak akan berbicara tentang dia, tetapi tentang karya Sanborn sebelumnya - proyektor Cyrillic, alias Cyrillic Projector.

Jadi dia berhasil membacanya. Dan ada lengan KGB di sana.

Bukan untuk mengatakan bahwa saya serius mengambil Cryptos peretasan, tetapi menjadi tertarik pada topik. Dan salah satu perhentian dalam perjalanan saya adalah Jim Sanborn. Lebih tepatnya, karyanya.

Di antara mereka adalah proyektor Cyrillic (pernah saya bahkan menemukan terjemahan sebagai "lentera Slavia"). Saya menemukan solusi lengkap dari proyektor Cyrillic hanya setelah saya melalui semua langkah sendiri.

Patung


Patung Cyrillic Projector pada tahun 1993 dipamerkan di Corcoran Museum of Art di Washington dengan nama "Obsolescence Terselubung: Ruang Kode", pada tahun 1997 diakuisisi oleh University of North Carolina dan dipasang di kampus .

Patung itu adalah pipa perunggu setinggi 3 meter dan diameter 1,5, di tengahnya dipasang lampu, dan huruf diukir di dinding pipa. Ketika lampu menyala, huruf-huruf berukir yang sama ini diproyeksikan di sekitar patung.



Ada juga tablet untuk karya seni ini:
JIM SANBORN
Amerika, b. 1945

1997 Proyektor Sirilik
- Perunggu

Teks Cyrillic dibagi secara vertikal menjadi dua bagian.
Setengahnya berisi teks yang disandikan, dan itu mengacu pada
bahaya menekan intelektual dan artistik
kebebasan. Setengah lainnya - "Vigenere's Tableaux", adalah
teks pendekodean. Bentuk silinder terinspirasi oleh
mesin yang digunakan untuk enkripsi.

Karya Seni untuk Koleksi Bangunan Negara

Surat


Surat dapat dibagi menjadi empat bagian. Atau dalam dua bagian sebagaimana dimaksud, seperti yang ditunjukkan pada piring.

Paruh pertama adalah ciphertext dan terlihat seperti ini:



Dan inilah babak kedua, yang merupakan kotak Vigenere yang dimodifikasi:



Jika ada di antara Anda yang memiliki keinginan untuk bekerja "dengan sumber", maka Anda dapat melihat di bawah spoiler:

Ciphertext
LTFEYUTFYAYAMPHTSFACHNSCHPVBGZHCHSKGGLZDEYP
KHSYREAAFNFPSCHVPETSRDFASCHTKSHSCHYUHHEHU
KUMLEKINLESSNEADER
PIKLEOURYSMYSHLLLBKHMHLZHSRASCHRYLPEEOYIVC
ILBKHTSRYCHSKARSRVYAEFKYUFRYUMOYAZOLODESHRZU
DKhMAEHOYYUYUFMSHCHSVIIZHAGYAPSIBRSHROM
KTSUYAGHULEURYSM'SHSPPYATSHUSHATSCHPIMSHN
RBCHRYUIMUURADFAYUYALONUFZHOFSHKHFSB
VYCHDTSSFBMDESHRZUDHURBSTOKSCHMHPOTOCHOSCHCH
ZHATSDSCHRAUSHOYVRBGYUBZGEZHREYLPEOOYIVTSNZPGF
ZAIVAYUFLATSKHSCHYSHBEOMSHZHTEDYOTTFHPR
PLODESHRZUDKHKPGFOTSBSCHMMEKCHERLMKATSTSZSCHL
FTSCCHSCHKVNFAESDPTDFPPRYAYKUNHVTSBYUEISCHYACHTS
XMLCHPRESHULESHI MEDUSAINHEZLZZRZIKL
PEVLCHSCHYOYVRBUDKHSVGZHHSKARSRVYAEFRSCHF
YaSchPZyzTFOYyUSDTYuTVSBRhSPbShlShKUVYyGZ

YACHLRYEMDCHCHRSTNYKDOBZHBLISHYYBYIDRR
TSKHOSCHZHVKBCHKZHNFPSHTSZUIDYAGACHYUKFESETSII
YFEBLDSDTGZSHRZHEDFSCHYYANBOOShFPYUKZTSUDI
NKHEOKHPOYAHDESBSHEZHESHVODODSHVUSLMSCHGZHShUD
IGLESHKPUUCHDLSUTSYUTYUNHPBUPRGIUSBYYPYU
GAFFESHBFBMYIPIMYUKSHKHTNFSCHPEYABCHKSCH
VISCHLYUSVYUYUKFFSYSTSVLSLSUKSIKDSDRSURZ
KHRFYREMRKHFLKFAYIKUALSHGMYZHSHYYSHKFNF
IDYRFGKUAYOUMATETTSKVEZOYIDTSDKGSCHFEZH
BEGITU MUNGKINNSHCHPOJJYZGEITIMMAYYUMFS
YTYSVSIDSDRBFNUORUSHSTBZPDJYAYAACHKUMAYAH
TMCRCZSCHLLEUUPFZHTEDUKHRSHYORBETSYOPYLY
TCHShYAFNPSHFEMBSCHZHTPDLRShBSHBCHRZHYMNCHZY
TYZHSM'CHDHKLNTSPZHRFYREMRKHFMYBVACHCHSHEF
І
SPBURRHFTYZHTGIYKAFMTNKYFFNTSYYES

Tabel Vigenere
TENABBWGJZIYKLMOPRSUFHShCHSCHCHYYUYAT
ENABBGJZIYKLMOPRSUFKHSHCHSCHCHYYUE
NABAWGJIJKLMOPRSUFHWHHHHHHM
BABWGJZIYKLMOPRSUVHHCHSCHCHYYUJABYABAB
ABVGJZIYKLMOPRSUFHSHCHSCHCHYAEABABLEABB
BVGJZIYKLMOPRSUFKHSHCHSCHCHYEJAABABG
VGJZIYKLMOPRSUFHShCHSCHCHYEJAABABGD
GJZIYKLMOPRSUFHSHCHSCHCHYAJABABGWJ
JZIYKLMOPRSUFHSHCHSCHYYAJAABABGJJ
ZHIYKLMOPRSUFHShCHSCHCHYUJAJABABVGJI
ZIYKLMOPRSUFKHShCHSCHCHYUJAJABABVGJZIY
IKLMOPRSUFKHShCHSCHYYYUJAABABVGJZIYK
YKLMOPRSUFKHShCHSCHYYYUJAABABGGJZIYKL
KLMOPRSUFHSHCHSCHEYAJABAWGJJIYKLM
LMOPSUFHHHHHHHHHHHHHHHH.A.AJ.
MOPRSUFHShCHSCHCHYAJABABGGJZIYKLMOP

OPRSUFKHShCHSCHYYUJAABABGGJZIYKLMOPR
PROSUFHHHHHHHHHHHHHHH.M.ABBJHJIYKLMOPRS
RSUFHSHCHSCHYYUJAABABGJJIYKLMOPRSU
SUFHCHCHSCHYEJAJABABGJJIYKLMOPRSUF
UFKHSCHSCHYEJAJABABGJJIYKLMOPRSUFH
FKHSCHSCHYYUJABABBGJZIYKLMOPRSUFHSh
TAHULEDGEABAWGJJIYKLMOPRSUUF
SHCHSCHCHYUJAABABGGJZIYKLMOPRSUFHShCHSCH
BAB 9 INI ABBHGJZIYKLMOPRSUFHSHSCH
PENGECUALIAN ABBHGJZIYKLMOPRSUFHSHSCHCH
APLIKASI ABBHGJIYKLMOPRSUHHCHSCHCHYY
KECUALI ABBHGJIYKLMOPRSUHHCHSCHCHE
EXECUTIONABBGGJIYKLMOPRSUFHSHCHSCHEYU
EYATABABGGJIYKLMOPRSUHHCHSCHCHYYUYUA
YUTENABABGJZIYKLMOPRSUFHShCHSCHCHYYUYUYAT
YATENABBGGZHIYKLMOPRSUFHShCHSCHCHYYUYUYUYATE

Vigenere Cipher


Asalnya


Seperti yang dikatakan dalam papan nama pada proyektor, tabel Vigenere digunakan untuk dekripsi. Untuk menangani sandi Vizhener, Anda harus mengambil "langkah mundur" dan ingat tentang sandi Caesar.

Sandi Caesar adalah sandi pengganti alfabet tunggal di mana huruf-huruf alfabet yang digunakan untuk enkripsi digeser relatif terhadap yang biasa dengan angka tertentu dari rentang n-1, di mana n adalah jumlah huruf dalam alfabet.

Misalnya, ambil kata "KEY" dan mengenkripsi kata itu dengan offset 13:



Outputnya adalah "CHSHLD".

Untuk mendekripsi, Anda perlu melakukan operasi terbalik: mengetahui kuncinya, mis. dengan offset pesan mana yang dienkripsi, temukan huruf ciphertext dan tentukan huruf plaintext yang cocok.

Misalnya, "Pengasuh" untuk offset yang sama:



Anda dapat mendekripsi pesan, selain mengetahui kunci, misalnya, dengan penghitungan sederhana, mis. mendekripsi pesan dengan setiap kemungkinan offset sampai hasilnya adalah teks yang bermakna. Atau menggunakan analisis frekuensi. Tentu saja, ada pilihan lain, tetapi saya melakukannya tanpa mereka.

Analisis frekuensi


Analisis frekuensi didasarkan pada asumsi bahwa pelampung dalam bahasa yang sama tidak digunakan secara seragam. Misalnya, dalam kalimat sebelumnya, huruf O muncul 12 kali, H - 10 kali, A - 6, T - 5, E - 5, C - 4, S - 4, I - 4, B - 4, H - 3, P - 3, P - 3, M - 3, Z - 3, L - 3, B - 2, Y - 2, K - 2, I - 2, Y - 1, D - 1, J - 1, L - 1, S - 1.

Contoh lain - huruf alfabet Inggris "e" adalah yang paling umum digunakan dalam bahasa Inggris. Dan salah satu kata yang paling populer (tidak sepenuhnya benar untuk menyebutnya demikian, tapi tetap saja) adalah artikel yang pasti "itu".

Jadi, setelah melihat dalam ciphertext bahwa beberapa huruf paling sering terjadi, misalnya, "o", kita dapat berasumsi bahwa itu sebenarnya huruf "e", dan jika kombinasi huruf "dro" sering ditemukan, maka kita dapat mengasumsikan bahwa di bawah dia menyembunyikan "si".

Selain frekuensi surat itu sendiri, ada berbagai ketergantungan pada surat mana yang bisa masuk sebelum dan sesudah surat.

Distribusi huruf dalam bahasa Inggris terlihat seperti ini:



Jika ciphertext cukup panjang, maka Anda dapat menghitung frekuensi kemunculan huruf di dalamnya, lalu menggabungkan grafik. Dengan kombinasi keadaan yang baik, grafik akan kira-kira sama, meskipun tidak bertepatan pada puncak. Tetapi dari mereka akan mungkin untuk menentukan offset mana yang digunakan.

Jadi apa itu Visioner?


Diusulkan (sama sekali tidak oleh Visioner, atau lebih tepatnya bukan oleh dia terlebih dahulu) untuk menggunakan beberapa huruf (pada kenyataannya, ide itu diimplementasikan dalam cara yang sedikit berbeda, sudah dengan mesin enkripsi).

Untuk mengenkripsi pesan dengan sandi ini, Anda harus mengambil "kotak Vigenere" - ini adalah seluruh rangkaian "sandi Kaisar", di mana offset huruf pada setiap baris sama dengan satu huruf. Untuk bahasa Rusia (tanpa huruf "") kotak akan terlihat seperti ini:



Setelah itu, Anda perlu mengambil beberapa kata yang akan digunakan sebagai kunci.

Proses enkripsi itu sendiri tidak berbeda dengan enkripsi Caesar. Perbedaannya terletak pada offset yang digunakan.

Misalnya, kata "SALT".

Saya akan mengenkripsi huruf pertama dari pesan dengan offset 17, yang kedua - 14, yang ketiga - 11, yang keempat - 28.

Setelah itu, ulangi sampai pesan berakhir: huruf kelima dengan offset 17, keenam - 14, dan seterusnya.

Sebagai contoh, saya akan mengambil baris ini: “Lihatlah angin, cucu-cucu Stribozh, tiuplah panah dari laut”.
Saya akan mengenkripsi itu menggunakan cipher Caesar dengan offset 8, 16, 20, 24, serta cipher Vigenère dengan kata kunci "Cipher".



Cipher Vizhener memungkinkan Anda untuk mengubah frekuensi huruf dalam teks dan ini membuatnya sulit untuk membaca teks terbuka. Analisis frekuensi dapat dilakukan bukan untuk keseluruhan ciphertext, tetapi membaginya menjadi beberapa, sesuai dengan panjang kunci. Yaitu jika kuncinya adalah 4 huruf, maka bagilah ciphertext menjadi 4 bagian: dalam huruf pertama dari ciphertext 1, 5, 9, ..., pada yang kedua - 2, 6, 10, ... dan selanjutnya dengan analogi dengan semua huruf. Masalahnya adalah untuk mengetahui panjang kunci, tetapi ada metode untuk ini.

Semakin lama kuncinya, semakin baik. Semakin pendek pesan, semakin baik.

Idealnya, kuncinya harus sama dengan pesan. Dalam hal ini, kita berbicara tentang cipherpad .

Untuk menggunakan Vigenère cipher, penggunaan segala cara teknis tidak diperlukan, meskipun mereka dapat menyederhanakan penggunaan, meningkatkan kecepatan enkripsi dan dekripsi, dan juga mengurangi kemungkinan kesalahan.

Tabel Vigenère dapat dimodifikasi bahkan untuk setiap huruf kunci, hanya akan ada masalah dengan distribusi tabel yang dimodifikasi.

Contoh Analisis Frekuensi


Saya akan mengambil teks yang cukup panjang:
Hantu berkeliaran di dunia modern, hantu cryptanarchy. Teknologi komputer berada di ambang memungkinkan individu dan kelompok untuk berkomunikasi dan berinteraksi sepenuhnya secara anonim. Dua orang akan dapat bertukar pesan, berbisnis, masuk ke dalam kontrak elektronik, tanpa dapat menetapkan Nama Sejati, identitas satu sama lain. Interaksi dalam jaringan tidak dapat dipantau karena perubahan berulang dalam rute paket terenkripsi dan blok peringatan terhadap gangguan tidak sah yang memberikan protokol kriptografi dengan perlindungan yang hampir sempurna.

Pertama saya akan mengenkripsi Caesar:
Saya seorang shch a r W n y u c e u b b m m u v f x y e m f o l p o p s w y y y r y s y r v m b p h t h w y z b v t u t r v m r s b y u o e u r e u e w e e f u rt s x y t x y r b y y g e dalam m b p b yu y y y x y e w h h e w b y e l x yu e v a r v l e x sh h x t p h y y z e u b h b b r e t sh w m y u f sh e e l x sh x erysh z e u b v sh f a g u f a g u r t h w y z x w b w t t b x v sh e x t y u q e u s g f x v y b v x x f w x w x h e x e w ia r dan a g v yut h r dan sh d a y u t r e e l e r y x y t sh a y x x f g y a x c f r o y u di e x b r e w sh u e sh a y u t r e e u u t x h dan r di h x m b di t r s y u t y u u a l x e r f xypovyashv u sh a y u a r d sh z x b y x sh a y u v y u y l y a r u v sh z x b h w h w h

Saya akan menyusun frekuensi untuk open dan ciphertext:



Jelas, grafiknya sama. Jika Anda melihat berapa banyak huruf grafik di belakang satu sama lain, Anda dapat mengetahui offset apa yang digunakan. Dalam hal ini, biasnya adalah 16.

Dan sekarang saya akan mengenkripsi teks yang sama menurut Visioner. Kata kunci "ROUND":
I r y f r f k f e f t e f g e f g h a y x f g p h x y a sh sh b y u m y u t e f g e w b y y YUZYYK E YODA YUCHT P MNOCH P O D T U R U R U R M B O E R T P Y Y S N b x x y r r p ne ne b o l u c t e v d d m x y o f f e e dan t h w a h a r h r r p p y y s u b y y d d l l d d v r r y y t g s e w h e t g n a y a p t m h b y s y s h h h b h y x n u sh m z n b y u w sh sh d g a z f r g r d t h y y z w b e x h x b b r f u j y g d u v w y u t sh t h p h y y u e g e d a d h a g a g e v a n g a g y g y t e c d e n d c y s w r b p d e n b r tt m s e y s y o y i i v a t u r u b b b c b a b c a b a b a b b b b b b b b b b b / y / y / y n h a m x c y y

Dan lagi, saya akan membuat frekuensi:



Jadwal telah berubah, jadi itu tidak akan cocok untuk analisis frekuensi.

Peretasan Proyektor


Pencarian Kata Kunci


Bagaimana saya bisa memecahkan sandi ini? Tetapi ternyata tidak perlu diretas sama sekali, tetapi hanya untuk mendekripsi, karena kunci itu tergantung di tempat yang sangat menonjol.
Seseorang mungkin telah memperhatikan "anomali" dalam ciphertext, dan seseorang di foto pandangan umum patung di awal artikel:



Saya akan memilih dari tabel pahatan Vigenère dari garis "MEDUZA", untuk kenyamanan penggunaan lebih lanjut:



Saya akan mulai mendekripsi bagian pertama dari ciphertext (dalam bentuk yang lebih nyaman, saya akan menunjukkan hasilnya nanti):



Saya melanjutkan ke yang kedua. Itu perlu untuk memulai lagi dengan huruf "M" di kunci:



Bagian ini merupakan kelanjutan dari bagian pertama.

Tetapi kemudian Anda harus mulai lagi dengan huruf "M" untuk mendapatkan bagian baru dari teks:



Situs ini menyediakan pendekatan terhadap solusi.
Pengumuman keputusan menyatakan bahwa solusi itu ditemukan secara independen oleh dua orang, tetapi karena berbagai alasan tidak segera mulai mempublikasikannya. Ada orang yang telah menemukan solusi - Mike Bales dan Frank Corr.

Hasil Dekripsi


Sekarang tinggal membawa semuanya ke dalam bentuk di mana teks dapat dibaca: dibagi dengan kata-kata, tempatkan setidaknya kira-kira tanda baca, hapus kata kunci:
Seni tertinggi dalam kecerdasan klandestin adalah kemampuan untuk mengembangkan sumber yang akan Anda kontrol dan kontrol sepenuhnya. Menurut puisi dinas intelijen rahasia, sumber yang terkontrol, sebagai aturan, memberikan informasi yang paling dapat diandalkan. Terkendali adalah sumber yang dibeli atau terletak di ikal lain. Secara tradisi, tujuan seorang profesional bekerja dalam distribusi rahasia. Itu selalu membingungkan sumber informasi yang berpotensi berharga pada jaringan psikologis dan mengencangkan jaringan ini pada saat yang tepat. Peluang untuk ini tidak banyak, tetapi karyawan layanan tambang yang berhasil mengembangkan sumber informasi yang terkendali akan mengharapkan promosi yang masuk akal dan rasa hormat dari kolega. Namun, cara yang diperlukan untuk mencapai tujuan dan perilaku ini tidak bertentangan dengan etika dan moralitas masyarakat di bidang hubungan interpersonal.

Saya hanya berhasil menemukan asumsi, lebih mirip dengan pernyataan bahwa ini dari buku teks KGB untuk karyawan saya yang bekerja dengan agen.

Bagian kedua dari teks ini berkenaan dengan akademisi Sakharov:
Tentang produksi oleh Sakharov tentang "seruan" anti-Soviet berikutnya ke Barat dan penggunaannya oleh Amerika untuk tujuan memusuhi Uni Soviet. Pada bulan Mei, akademisi Sakharov A.D. membuat "banding" ke "Peserta Konferensi Pugwash" yang berisi penilaian keras anti-Soviet dari kebijakan internal dan luar negeri CPSU dari pemerintah Soviet, USSR dituduh "memperkuat tentara, angkatan laut, gudang senjata dan penerbangan", "sebagai perusak"
Diduga, ini dari salah satu dokumen KGB:



Anomali


Plaintext berisi "kesalahan ketik". Saya tidak berpikir bahwa ini adalah kesalahan ketik sederhana dari kurangnya perhatian, terutama karena Jim mungkin memiliki teks sumber di depan matanya. Untuk tujuan apa kesalahan ini diperkenalkan? Pertanyaan terbuka.

Ada juga kata khusus "", itu juga "PERILAKU", di mana surat itu hilang.
Dan yang paling menarik adalah keberadaan kata "VZOR" dalam teks yang jelas. Menurut saya, kata ini seharusnya tidak ada di sini.

Secara pribadi, menurut saya ada "level kedua", tetapi saya tidak dapat menemukan "kunci" yang cocok dengan "kunci" ini. Mungkin tidak ada apa-apa di sini.

Analisis Frekuensi Proyektor


Awalnya, saya berpikir bahwa kesalahan ketik dalam plaintext diperlukan untuk mempersulit kriptanalisis frekuensi. Tetapi kesalahan ketik terlalu sedikit untuk memiliki dampak signifikan pada frekuensi. Namun demikian, saya akan memberikan grafik untuk frekuensi buka dan ciphertext. Saya hanya akan mengambil bagian pertama dari ciphertext sebagai bagian paling integral.

Saya mengambil frekuensi untuk alfabet Rusia di sini .



Antipode


Sanborn memiliki pekerjaan lain yang terkait dengan proyektor Cyrillic. Namun, seperti halnya dengan Cryptos. Karya ini disebut Antipodes dan dibuat pada tahun 1997.
Karya tersebut berisi Cryptos yang dimodifikasi di bagian Inggris dan ciphertext yang diperluas dari proyektor Cyrillic di bagian Rusia.
Proyektor Cyrillic mengandung 75% dari ciphertext Antipode.
Jumlah huruf dalam garis dan, karenanya, jumlah garis berbeda.
Saya hanya akan memberikan sisa ciphertext.



Ciphertext
FBZHBLSVTCHRYYPTMBOYMSGUMBP
KTRYRAKHKHADGOSHCHDGSTSTSGYUBEMEYSCHYAL
OZCHSHUSFEZHBUHLEYCHShShGOGOESHVESHOCHZHZH
RYUKTSPSHRACHTLBKHMTSYASBLNRGPRUTBESHVESMY
ZFUYAYAZKHUFONSVSHGMYBVSYUBSHSVTSPTATTHSY
REAFEFYFRYAYRUFRFGRDEYFZSCHZCHCHLSLS
TULPZHVKKBCHKZHTGGYUUASHIDPRDSCHZSCHGRSHMR
POZHYFELKPNYRYAACHKUMRFKHTMTRITZZSCHDR
SHZHDRZPVNEOZHNFYEOZHFSHNYRYHLShKKHP
BEHFHOSCHGRGMOYAZHVYUBCHTCHEZHEYPEABYIDHH
FSNCHSCHDPVCHOPRPYAPOATGTSPLFFSHTCHTYFNP
YUTSSYUYUKUAHFLTBKKHVRDNSFVKAAPRPLYYHYRF
YOAZPYILESBEFMYHPLYSHShShGOESHVTSUKG

Dekripsi dengan cara yang sama, dengan kata kunci yang sama dan huruf kata kunci yang sama, di mana saya akhirnya mendekode bagian tentang Akademisi Sakharov. Inilah hasilnya:



Dalam bentuk yang lebih nyaman:
... Mu di dzla internal Afghanistan dan Polandia. " Sakharov secara demagogis menyatakan bahwa negara Soviet terus menjadi "masyarakat tertutup" dan menganiaya "aktivis hak asasi manusia." Mereka mencoba untuk mendiskreditkan gerakan anti perang luas di Barat dan para pemimpinnya. Ini akan menuduh para peserta gerakan Pugwash "mengikuti secara membabi buta" kebijakan-kebijakan Uni Soviet, memprovokasi para ilmuwan untuk campur tangan dalam urusan dalam negeri kita dan keluar untuk membela orang-orang yang dihukum karena negara yang sangat berbahaya ...

Diharapkan ini adalah kelanjutan dari dokumen tentang Akademisi Sakharov.

Terakhir


Proyektor Cyrillic jauh lebih sederhana dan tidak mengandung jebakan dan petunjuk yang salah seperti Cryptos. Ini dapat diselesaikan oleh orang yang tidak memiliki pengetahuan mendalam dalam kriptografi - cukup memiliki konsep dasar, cadangan kesabaran dan waktu luang yang cukup.

Saya ingin menjadi yang pertama membaca pesan terenkripsi, tetapi saya sangat terlambat.
Namun, mengulangi jalan yang diikuti orang lain juga sangat menyenangkan.

Source: https://habr.com/ru/post/id469717/


All Articles