2010-08-22 3 views
3

Мне нужно сделать приложение, которое может шифровать и дешифровать текстовый файл с помощью IDEA (International Data Encryption Algorithm) в Java или C#. Я знаю, что в java есть встроенный JCE (Java Cryptography Extension), но как продвигаться дальше, кто-нибудь, пожалуйста, дайте мне несколько предложений?Как реализовать IDEA?

спасибо.

+0

Хорошо спасибо :). – Supereme

ответ

2

Вы можете попытаться использовать BouncyCastle, который доступен для Java и C#. Тем не менее, вы должны будете получить правильные банки (при условии, Java) для поддержки IDEA, в соответствии с этим note:

Начиная с версии 1.40 реализации алгоритма шифрования IDEA был удалены из обычных файлов фляги в запрос нескольких пользователей. Ящики с названиями форм -ext- еще включают реализацию IDEA.

EDIT (добавлен указатель, например): Я не пробовал, но я думаю, что DESExample могут быть адаптированы, чтобы сделать то, что вы хотите, вероятно, заменив DESedeEngine с ам IDEAEngine (и аналогичные для другие классы).

+0

Помогло ли бы вниз избирателю объяснить, что было не так с этим ответом? (Я не возражаю против того, что я ошибаюсь, но мне было бы интересно узнать почему.) – Bruno

4

Невозможно прокомментировать по какой-либо причине, поэтому я отправляю это как ответ.

IDEA - запатентованный алгоритм, и патенты истекают только в 2011 и 2012 годах (в зависимости от страны). Кроме того, это не лучший результат. Поэтому, если у вас нет требования использовать IDEA, я бы предложил посмотреть алгоритмы AES или RC4 (ARCFOUR, так как RC4 - зарегистрированная торговая марка). RC4 работает быстрее, но в значительной степени зависит от качества ключа шифрования.

4

Eugene прав относительно IDEA. Если это по вашему выбору, было бы разумным избежать использования IDEA и выбрать какой-либо другой алгоритм. Из-за патентных проблем, IDEA используется довольно редко и, следовательно, он менее исследован криптоаналитиками. Кроме того, длина ключа IDEA ограничена 128 битами, которые, скорее всего, станут недостаточно в ближайшее время.

Большинство (не совсем всех) рамок разработки включают поддержку стандартных криптографических алгоритмов. По сути, всегда полезно использовать стандартизованные алгоритмы, так как они лучше всего изучаются криптоаналитиками. AES128/256 является предпочтительным выбором. Максимальная длина ключа RC4, а также ключ IDEA составляет 128 бит; кроме того, это также своего рода экзотика и может не поддерживаться некоторыми структурами.

Смежные вопросы