Вдохновившись прочтением статьи на хабре я решил написать небольшой сервис для шифрования текста. Сейчас доступен лишь один алгоритм, который позволяет шифровать текст, оставляя его читабельность. В будущем алгоритмов будет больше и для них будет доступен API.
Пример работы
Входной текст:
Во время Великой Отечественной войны, как известно, у нас уделяли значительное внимание организации партизанского движения. Почти каждый отряд в тылу врага имел радиостанцию, а также то или иное сообщение с «большой землёй». Имевшиеся у партизан шифры были крайне нестойкими — немецкие дешифровщики «раскалывали» их достаточно быстро. А это, как известно, выливается в боевые поражения и потери.
Партизаны оказались хитры и изобретательны и в этой области тоже. Приём был предельно прост. В исходном тексте сообщения делалось большое количество грамматических ошибок, например, писали: «прошсли тры эшшелона з тнками». При верной расшифровке для русского человека всё было понятно. Но криптоаналитики противника перед подобным приёмом оказались бессильны: перебирая возможные варианты, они встречали невозможное для русского языка сочетание «тнк» и отбрасывали данный вариант как заведомо неверный.
Этот, казалось бы, доморощенный приём, на самом деле, очень эффективен и часто применяется даже сейчас. В исходный текст сообщения подставляются случайные последовательности символов, чтобы сбить с толку криптоаналитические программы, работающие методом перебора или изменить статистические закономерности шифрограммы, которые также могут дать полезную информацию противнику.
Текст после шифрования:
Во вмеря Веклоий Оеечсвттнноей внйоы, как изесвтно, у нас удяелли знатчеьлоине внимиане огрианзации паизраснткгоо джеиинвя. Пчоти каыждй ортяд в тылу вргаа имел раидтаосицню, а тажке то или иное соощбнеие с «больошй змёлей». Имвеисешя у пртаизан шрфиы были канйре нсеоктйими — нмеецике дишфрвеоищки «ркслываалаи» их дтотаочнсо бстыро. А это, как ивезтнсо, вливеыстая в бевоые поарнеижя и птореи.
Птразаины окалиасзь хртиы и иорзтеатбьнелы и в этой облсати тоже. Прёим был пдееьрлно порст. В исдонхом тстеке собщеноия далеолсь болошье коиелтчвсо граатмичмкесих обиошк, нариепмр, паилси: «просшли тры эшшлноеа з танкми». При внерой ршаисрфокве для рсксоуго чеовекла всё было пноятно. Но криотанапилтики поивтнирка преед побоындм пёмоирм окаалзсиь бсеслньыи: пебиераря взожоынме враиатны, они втесарчли нвезоонможе для рускосго якыза сотечание «тнк» и обратсаывли дныанй враниат как заеовмдо неренывй.
Этот, кзлаосаь бы, дормщоенныой прёим, на сомам деле, онечь эфетфвекин и чтсао пминереятся даже сечайс. В исхндыой тескт сообенищя постваядлсютя счайныуле плеоосдвальтеоснти сиовмолв, чотбы стибь с тклоу кпиранолаитчиетские пгоаммрры, рбоающиате мтдооем прбероеа или иенитзмь сатисттчсеиике заноомероктнси шифргамрмоы, ктрыоое ткаже мугот дать ползеуню инрмфциоаю поирвнкиту.
Живой пример работы: http://crypt.ziggi.org/
GIT: https://github.com/ziggi/zCrypt