Как использовать Skipjack (skip32) в Java для рандомизации последовательных целых чисел из базы данных - PullRequest
1 голос
/ 17 октября 2011

Исходя из предыдущего вопроса , я использую последовательное целое число в качестве идентификатора записи в моей базе данных. Я хочу, чтобы скрыть целочисленные идентификаторы с помощью Skip32. Я нашел реализацию Java , но я не уверен, как ее инициализировать, используя стандартные API JCE. Мне нужно зашифровать целое число и расшифровать его по мере необходимости. Кто-нибудь может показать мне пример этого?

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

Код, который вы нашли, принадлежит проекту Cryptix .Вам нужен не только этот файл, но вы должны взять весь пакет.Возьмите пакет JCE, установите его в качестве провайдера.Тогда вы сможете использовать

Cipher c = Cipher.getInstance("SKIPJACK");

Но на самом деле, вместо использования неподдерживаемой библиотеки, такой как Cryptix, использование библиотеки BouncyCastle (или ее частей) может быть более рекомендуемым.У них много документации, а также SkipJack-реализация .

Я не уверен, почему вам нужно использовать Skipjack вместо любого шифра, который поставляется с вашей JRE, -только для меньшего размера блока?

Если я правильно понимаю, Skip32 - это отдельный шифр (работает с 4-байтовыми блоками), просто построенный по аналогичным принципам, как Skipjack (который работает на 8-байтовых блоках).Я не нашел никакой спецификации, только некоторый исходный код на C и Perl, поэтому сомневаюсь, что будет какая-то реализация Java.Взгляните на Сохраняющее формат шифрование в Википедии, или Можете ли вы создать надежный блочный шифр с небольшим размером блока, учитывая надежный блочный шифр обычного размера блока? на Cryptography Stack Exchange, который показывает другиеспособы построения маленького блочного шифра из большего.

1 голос
/ 18 октября 2011

Вы можете найти эту запись в блоге о безопасных перестановках с блочными шифрами, полезную для выяснения того, как ее реализовать. Подойдет любой блочный шифр с достаточно коротким размером блока.

...