2014-02-12 5 views
0

Я написал программу Java для принудительного использования алгоритма шифрования, получившего патрон известного простого текста. Теперь я хочу, чтобы он распознавал текст на английском языке, когда он его видит, поэтому я знаю ключ, но я не уверен в простом алгоритме обнаружения английского текста.Brute Force Recognifying English

Я могу рассчитать расстояние Unicity, поэтому знайте, сколько символов мне нужно знать, чтобы быть уверенным, что текст является английским, но нужен только алгоритм.

Любая помощь будет высоко ценится

EDIT

Текст открытого текста только

+0

В случае только зашифрованного текста: в качестве первого шага я проверил бы, если бит 7 в байтах не установлен. Поскольку английский язык подразумевает ASCII, это хорошо. Затем отфильтруйте управляющие символы. Для 16 байтов открытого текста (один блок AES) каждые 5 миллионов попыток пройдут эти тесты, после чего вы можете применить более дорогой тест. – CodesInChaos

+0

Если это известная атака открытого текста, почему вы даже пытаетесь распознать английский? Вы уже знаете точный простой текст по определению. – CodesInChaos

+0

Я сейчас ухожу от известного открытого текста –

ответ

0

Честно говоря, лучший способ проверить это, чтобы проверить слова против словаря. Если вам нужно только проверить, что сообщение CONTAINS english, я бы порекомендовал просто иметь словарь с очень распространенными словами. Вероятно, вы могли бы создать что-то эффективное, возможно, с 20 словами.

+0

Расстояние единства очень низкое, всего 5 символов? –

+0

На самом деле я не так хорошо разбираюсь в этой теме, поэтому я не знаю, что такое единство. Я знаю, что распознавание английского языка является распространенной темой здесь, в StackOvrflow, и очень часто рекомендуется использовать словарь по своему усмотрению. Я предполагаю, что если вы только хотите посмотреть, не будет ли его английский, в отличие от немецкого, любого другого языка или полной случайности, вам не нужен полный словарь, как это будет использоваться для проверки орфографии. Если у вас есть более элегантное решение, не стесняйтесь приступать к этому. – Drifter64