способ и устройство для шифрования сигналов для передачи

Классы МПК:H04L9/06 шифровальные устройства, использующие регистры сдвига или запоминающие устройства для блочного кодирования, например системы на основе стандарта шифрования данных
Автор(ы):
Патентообладатель(и):КВЭЛКОММ ИНКОРПОРЕЙТЕД (US)
Приоритеты:
подача заявки:
1998-03-04
публикация патента:

Изобретение относится к области радиосвязи, а именно способу и устройству для шифрования сигналов для передачи. Сущность изобретения состоит в том, что в процессе шифрования осуществляют пять прогонов шифрования в соответствии с кодом блочного шифрования с переменной длиной с использованием первой и второй таблиц шифрования и шифровального ключа, осуществляют первый прогон шифрования одного из совокупности сигналов сообщения в соответствии с первым преобразованием по шифровальному ключу, осуществляют второй прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным преобразованием по шифровальному ключу, осуществляют третий прогон шифрования одного из совокупности сигналов сообщения в соответствии с самоинвертирующим преобразованием, при котором изменяют, по меньшей мере, одно из совокупности сигналов сообщение, осуществляют четвертый прогон шифрования одного из совокупности сигналов сообщения в соответствии с, по меньшей мере, одним дополнительным инверсным преобразованием по шифровальному ключу, которое является инверсией одного дополнительного преобразования по шифровальному ключу, осуществляют пятый прогон шифрования одного из совокупности сигналов собщения в соответствии с первым инверсным преобразованием по шифровальному ключу, которое является инверсией первого преобразования по шифровальному ключу. Технический результат заключается в исключении перехвата и несанкционированного использования шифрованной информации. 8 н. и 44 з.п. ф-лы, 5 ил. способ и устройство для шифрования сигналов для передачи, патент № 2267227

способ и устройство для шифрования сигналов для передачи, патент № 2267227 способ и устройство для шифрования сигналов для передачи, патент № 2267227 способ и устройство для шифрования сигналов для передачи, патент № 2267227 способ и устройство для шифрования сигналов для передачи, патент № 2267227 способ и устройство для шифрования сигналов для передачи, патент № 2267227 способ и устройство для шифрования сигналов для передачи, патент № 2267227

Формула изобретения

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

2. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с упомянутой первой таблицей шифрования и в упомянутом первом направлении.

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

4. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с, по меньшей мере, второй таблицей шифрования и в упомянутом первом направлении.

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

6. Способ по п.1, по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования и в первом направлении, а второй прогон шифрования выполняют в соответствии с, по меньшей мере, второй таблицей шифрования.

7. Способ по п.1 по которому первый прогон шифрования выполняют в соответствии с первой таблицей шифрования, а второй прогон шифрования выполняют в соответствии с упомянутой первой таблицей шифрования.

8. Способ по п.1, по которому первый прогон шифрования выполняют в первом направлении, а второй прогон шифрования выполняют в, по меньшей мере, противоположном направлении.

9. Способ по п.1, по которому первый прогон шифрования выполняют в первом направлении, а второй прогон шифрования выполняют в упомянутом первом направлении.

10. Способ по п.1, по которому первая и вторая таблицы шифрования являются перестановками.

11. Способ шифрования данных, по которому осуществляют модификацию данных, используя части шифровального ключа, для обеспечения модифицированного значения, и осуществляют дополнительную модификацию модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.

12. Способ по п.11, по которому при осуществлении модификации объединяют данные с первой частью шифровального ключа для обеспечения ключевого значения, осуществляют нелинейную операцию на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования, при этом это значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования.

13. Способ по п.12, по которому таблица значений шифрования содержит строгие перестановки.

14. Способ по п.13, по которому таблица значений шифрования содержит 256 вводов и значения шифрования являются восьми битовыми строгими перестановками.

15. Способ по п.11, по которому модификация данных включает рекурсивное объединение данных с частью шифровального ключа для обеспечения значения индекса таблицы значений ширования и извлекают закодированное значение из таблицы значений шифрования, соответствующее упомянутому значению индекса.

16. Способ по п.11, по которому шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.

17. Способ по п.15, по которому шифровальный ключ содержит восемь неперекрываемых частей и по которому при осуществлении модификации данных объединяют данные с первой частью шифровального ключа для получения первого значения индекса, извлекают первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяют первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекают второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяют второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекают третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяют третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекают четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяют четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекают пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяют пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекают шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяют шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекают седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяют седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса, извлекают восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

18. Способ по п.17, по которому шифровальный ключ содержит 64 бита и по которому упомянутые части шифровального ключа содержат восемь битов.

19. Способ по п.15, по которому шифровальный ключ содержит восемь неперекрываемых частей и по которому при осуществлении модификации данных выполняют булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекают первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняют булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекают второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняют булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекают третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняют булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекают четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняют булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекают пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняют булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекают шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняют булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекают седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняют булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса, извлекают восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

20. Способ по п.19, по которому булевы операции содержат побитовую операцию исключающее ИЛИ и операцию сложения по модулю 256.

21. Способ по п.17 или 19, по которому при выполнении дополнительной модификации модифицированного значения, используя по меньшей мере одну из упомянутых частей шифровального ключа, объединяют восьмое замещенное значение с по меньшей мере одной из восьми частей шифровального ключа.

22. Способ по п.17 или 19, по которому выполняют дополнительную модификацию модифицированного значения, используя по меньшей мере одну из упомянутых частей шифровального ключа, в соответствии с первой частью шифровального ключа.

23. Устройство связи для передачи данных, содержащее память для хранения шифровального ключа, процессор для извлечения частей шифровального ключа из памяти и модификации данных с использованием упомянутых частей шифровального ключа в первую очередь для получения модифицированного значения и выполнения дополнительной модификации модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.

24. Устройство по п.23, в котором память хранит таблицу значений шифрования, при этом значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования, и процессор объединяет данные с частью шифровального ключа для получения ключевого значения и далее обеспечивает выполнение нелинейной операции на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования.

25. Устройство по п.24, в котором таблица значений шифрования содержит строгие перестановки.

26. Устройство по п.25, в котором таблица значений шифрования содержит 256 вводов и значения шифрования являются восьмибитовыми строгими перестановками.

27. Устройство по п.23, в котором шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.

28. Устройство по п.23, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор объединяет данные с первой частью шифровального ключа для получения первого зачения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяет первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяет второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяет третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяет четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяет пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяет шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяет седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

29. Устройство по п.26, по которому шифровальный ключ содержит 64 бита и в котором упомянутые части шифровального ключа содержит восемь битов.

30. Устройство по п.24, в котором шифровальный ключ содержит восемь неперекрываемых частей, и процессор выполняет булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняет булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняет булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняет булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняет булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняет булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняет булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняет булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

31. Устройство по п.30, в котором булевы операции содержат побитовую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ и операцию сложения по модулю 256.

32. Устройство по п.23, которое далее содержит передатчик для передачи зашифрованной версии упомянутых данных.

33. Устройство по п.23, которое является беспроводной базовой станцией.

34. Устройство по п.23, которое является беспроводной удаленной станцией.

35. Устройство связи для приема зашифрованных данных, содержащее память для хранения шифровального ключа и процессор для извлечения частей шифровального ключа из памяти и модификации данных с использование упомянутых частей шифровального ключа в первую очередь для получения модифицированного значения и выполнения дополнительной модификации модифицированного значения, используя по меньшей мере одну из частей шифровального ключа.

36. Устройство по п.35, в котором память хранит таблицу значений шифрования, при этом значение шифрования не равно индексу этого значения шифрования в таблице значений шифрования, и процессор объединяет данные с первой частью шифровального ключа для получения ключевого значения и далее обеспечивает выполнение нелинейной операции на ключевом значении в соответствии со значением шифрования из таблицы значений шифрования.

37. Устройство по 36, в котором таблица значений шифрования содержит строгие перестановки.

38. Устройство по п.36, в котором таблица значений шифрования содержит 256 вводов и значения шифрования являются восьмибитовыми строгими перестановками.

39. Устройство по п.36, в котором шифровальный ключ содержит 64 бита, а упомянутые части шифровального ключа содержат восемь восьмибитовых неперекрываемых частей упомянутого шифровального ключа.

40. Устройство по п.36, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор объединяет данные с первой частью шифровального ключа для получения первого зачения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, объединяет первое замещенное значение со второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, объединяет второе замещенное значение с третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, объединяет третье замещенное значение с четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, объединяет четвертое замещенное значение с пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, объединяет пятое замещенное значение с шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, объединяет шестое замещенное значение с седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, объединяет седьмое замещенное значение с восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

41. Устройство по п.38, по которому шифровальный ключ содержит 64 бита и упомянутые части шифровального ключа содержат восемь битов.

42. Устройство по п.35, в котором шифровальный ключ содержит восемь неперекрываемых частей и процессор выполняет булеву операцию между данными и первой частью шифровального ключа для получения первого значения индекса, извлекает первое замещенное значение, соответствующее первому значению индекса из таблицы значений шифрования, выполняет булеву операцию между первым замещенным значением и второй частью шифровального ключа для получения второго значения индекса, извлекает второе замещенное значение, соответствующее второму значению индекса из таблицы значений шифрования, выполняет булеву операцию между вторым замещенным значением и третьей частью шифровального ключа для получения третьего значения индекса, извлекает третье замещенное значение, соответствующее третьему значению индекса из таблицы значений шифрования, выполняет булеву операцию между третьим замещенным значением и четвертой частью шифровального ключа для получения четвертого значения индекса, извлекает четвертое замещенное значение, соответствующее четвертому значению индекса из таблицы значений шифрования, выполняет булеву операцию между четвертым замещенным значением и пятой частью шифровального ключа для получения пятого значения индекса, извлекает пятое замещенное значение, соответствующее пятому значению индекса из таблицы значений шифрования, выполняет булеву операцию между пятым замещенным значением и шестой частью шифровального ключа для получения шестого значения индекса, извлекает шестое замещенное значение, соответствующее шестому значению индекса из таблицы значений шифрования, выполняет булеву операцию между шестым замещенным значением и седьмой частью шифровального ключа для получения седьмого значения индекса, извлекает седьмое замещенное значение, соответствующее седьмому значению индекса из таблицы значений шифрования, выполняет булеву операцию между седьмым замещенным значением и восьмой частью шифровального ключа для получения восьмого значения индекса и извлекает восьмое замещенное значение, соответствующее восьмому значению индекса из таблицы значений шифрования.

43. Устройство по п.42, в котором булевы операции содержат побитовую операцию ИСКЛЮЧАЮЩЕЕ ИЛИ и операцию сложения по модулю 256.

44. Устройство по п.35, которое далее содержит приемник для приема зашифрованной версии упомянутых данных.

45. Устройство по п.35, которое является беспроводной базовой станцией.

46.Устройство по п.35, которое является беспроводной удаленной станцией.

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

48. Способ устранения недостатка в алгоритме шифрования сотового сообщения (АШСС), который появляется при использовании статистических характеристик таблицы секретности и шифрования речи для аутентификации (СШРА) в блоке подстановки, по которому вырабатывают первую перестановочную таблицу, вырабатывают вторую перестановочную таблицу и используют первую и вторую перестановочные таблицы в блоке подстановок в АШСС для вырабатывания первого зачения подстановки и второго значения подстановки, при этом первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.

49. Способ по п.48, по которому используют первую перестановочную таблицу и вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, также используют первую перестановочную таблицу в блоке подстановки при прогоне вперед АШСС и используют вторую перестановочную таблицу в блоке перестановки при обратном прогоне АШСС.

50. Способ по п.48, по которому испольуют первую перестановочную таблицу и вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, также используют вторую перестановочную таблицу в блоке подстановки при прогоне вперед АШСС и используют первую перестановочную таблицу в блоке подстановки при обратном прогоне АШСС.

51. Способ устранения недостатка в алгоритме шифрования сотового сообщения (АШСС), который появляется при использовании статистических характеристик таблицы секретности и шифрования речи для аутентификации (СШРА) в блоке подстановки, по которому используют первую перестановочную таблицу в блоке подстановки АШСС для вырабатывания первого значения подстановки и используют вторую перестановочную таблицу в блоке подстановки АШСС для вырабатывания второго значения подстановки, первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.

52. Устройство для осуществления алгоритма шифрования сотового сообщения (АШСС), содержащая память для хранения первой перестановочной таблицы и второй перестановочной таблицы и команды для осуществления АШСС, и процессор для осуществления АШСС с использованием первой перестановочной таблицы и второй перестановочной таблицы в блоке подстановки АШСС для вырабатывания первого значения подстановки и второго значения подстановки, и первое значение подстановки и второе значение подстановки являются перестановками одинаковой значимости.

Описание изобретения к патенту

1. Область техники

Настоящее изобретение относится к способу и устройству для шифрования сигналов для передачи.

2. Описание предшествующего уровня техники

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

Для решения этих и других проблем многие системы сотовой телефонной связи внедрили схемы аутентификации, такие как схема, предложенная в стандарте EIA/TIA/IS-54-B Ассоциации промышленности средств связи. Одним из признаков этой схемы аутентификации является шифрование передаваемой через эфир информации, необходимой для получения услуг связи. Эту информацию шифруют с помощью алгоритма шифрования сотового сообщения (АШСС). Алгоритм АШСС описан в патенте США 5159634 на изобретение "Криптосистема для сотовой телефонной связи", упоминаемом здесь для сведения.

Однако алгоритм АШСС обладает рядом недостатков, которые позволяют расшифровать зашифрованную информацию с помощью современной стандартной вычислительной техники за относительно короткое время. Эти недостатки будут подробно изложены ниже, после чего будет описано изобретение, позволяющее их устранить. Алгоритм АШСС был опубликован в Интернет, поэтому его недостатки может изучить любое заинтересованное лицо. Следовательно, существует потребность в новом алгоритме для замены АШСС, который бы позволил исключить возможность перехвата и несанкционированного использования аутентификационной информации, необходимой для инициирования услуги сотовой связи.

Сущность изобретения

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

Согласно другому спектру изобретения предложен способ шифрования сигналов для передачи, заключающийся в том, что сигналы кодируют путем применения к ним ряда преобразований, представляющего собой заранее определенную комбинацию преобразований по ключу, самоинвертирующих преобразований и/или инверсных преобразований по ключу.

Согласно следующему аспекту изобретения предложено устройство для шифрования сигналов для передачи, содержащее множество кодирующих каскадов, предназначенных для подлежащих передаче сигналов, путем применения соответствующего ряда преобразований, являющегося заранее определенной комбинацией преобразований по ключу, самоинвертирующих преобразований и/или инверсных преобразований по ключу.

Кодирование по методу блочного шифрования с переменной длиной (БШПД), предлагаемое в данном изобретении, позволяет преодолеть перечисленные выше недостатки алгоритма АШСС. Предпочтительный вариант изобретения характеризуется свойствами:

- шифруются блоки переменной длины, предпочтительно длиной по меньшей мере два байта;

- осуществляется самоинвертирование,

- используется очень малый объем динамической памяти и всего 512 байтов статических таблиц,

- возможна оценка с помощью 8-разрядных микропроцессоров,

- используется 64-битный ключ, который можно просто модифицировать для использования более длинного или короткого ключа.

Первый недостаток алгоритма АШСС заключается в том, что таблица секретности и шифрования речи для аутентификации в сотовой системе связи (СШРА), используемая для табличных поисков, не является полной. Она дает только 164 разных значений вместо 256. Наличие большого числа невозможных значений позволяет предположить возвратные значения tbox () или ключевых байтов и проверить эти предположения. В предлагаемом изобретении предлагается устранить этот недостаток путем замены таблицы СШРА двумя разными таблицами, выбранными таким образом, чтобы исключить используемые статистические характеристики таблицы СШРА. Эти таблицы, именуемые далее как t1box и t2box, являются строгими перестановками 256 8-битных целых чисел, причем ни одна из записей не находится в своем собственном индексном положении. Кроме того, t1box [i] не равно t2box [i] для всех значений i. Эти две таблицы были сформированы произвольно, причем все кандидаты, не отвечающие вышеуказанным критериям, были отброшены.

Второй недостаток АШСС заключается в повторном использовании значения функции, именуемой tbox (), оцениваемой нулем. Значение tbox (0) используется дважды при шифровании первого байта. Это дает возможность угадать tbox (0) и использовать это предположение для определения другой информации в процессе шифрования, в частности результат первого этапа АШСС для последнего байта и параметры двух значений tbox (0), используемых при шифровании второго байта. Это также позволяет с помощью решения выбранного открытого текста определить tbox() путем проб разных значений открытого текста до тех пор, пока в зашифрованном тексте не возникнет какая-либо распознанная комбинация. Этот второй недостаток устранен в изобретении путем замены самоинвертирующих процедур, используемых в АШСС, на предпочтительный набор процедур, обеспечивающих лучшее смешивание. Это реализуется путем ввода второго прогона с использованием другой таблицы (t2box). В этой ситуации имеется два значения tbox (), полученных из разных таблиц равной значимости, которые служат для маскировки друг друга.

Еще одна проблема АШСС состоит в том, что информацию, полученную при анализе текстов разной длины, как правило, можно объединить. Использование второй критичной записи tbox () в БШПД зависит от длины сообщения и делает объединение анализа текстов разной длины менее возможным.

Третья проблема АШСС заключается в неполном смешивании записей верхнего буфера. Последние n/2 байтов открытого текста шифруются путем простого прибавления одного значения tbox () и вычитания другого значения, причем этот промежуточный этап влияет только на первую половину байтов. Различие между зашифрованным и открытым текстом представляет собой различие между двумя значениями tbox (). В БШПД эта третья проблема решается за счет осуществления пяти прогонов по данным вместо трех. Смешивание, выполняемое в АШСС только в среднем прогоне, выполняется во втором и четвертом прогонах, в которых данные смешиваются от конца буфера по направлению к его началу. Средний прогон в АШСС также гарантирует изменение по меньшей мере некоторых байтов, чтобы не позволить расшифровать третий прогон. В БШПД эта цель достигается в среднем прогоне путем выполнения зависимого от ключа преобразования буфера таким образом, что, по меньшей мере, один байт остается неизменным.

Четвертый недостаток АШСС заключается в отсутствии шифрования младшего разряда (МР) первого байта. Многократное использование tbox (0) и фиксированной инверсии МР на втором этапе АШСС приводит к тому, что МР первого байта шифрованного текста является просто инверсией МР первого байта открытого текста. В БШПД эта четвертая проблема решается с помощью зависимого от ключа изменения буфера во время среднего прогона, что делает МР первого байта непредсказуемым в буферах длиной два байта или больше.

Пятый недостаток АШСС состоит в том, что эффективный размер ключа составляет не 64, а 60 бит. Каждый ключ, как таковой, эквивалентен 15 другим. В БШПД увеличено число табличных поисков и уменьшено число арифметических операций, что делает все 64 бита ключа старшими разрядами.

И наконец, функция tbox () в АШСС может быть эффективно решена по методу пересечения в середине. После получения четырех значений tbox () можно осуществить решение с требованиями по времени и пространству порядка 2^30, независимо от состава таблицы СШРА. В БШПД эта проблема решается несколькими способами. Конструкция функции tbox () восстанавливает два неиспользованных бита ключа. Повторение комбинации с, по меньшей мере, 8 битами шифровального ключа в начале и конце tbox () означает, что минимальное вычисление и пространство должны быть увеличены на восемь бит. Поскольку имеется две стороны в каждой таблице и две разные таблицы, минимальная сложность должна быть увеличена на два других бита, что приведет к минимальной потребности в пространстве и времени порядка 2^2. Кроме того, решение АШСС по методу пересечения в середине требует восстановления, по меньшей мере, некоторых из записей tbox (). Это значительно усложняется при использовании БШПД, где требуется одновременное решение двух отдельных групп значений tbox (), маскирующих друг друга.

Краткое описание чертежей

В дальнейшем изобретение поясняется описанием примеров его воплощения со ссылкой на прилагаемые чертежи, на которых

фиг.1 изображает структурную схему системы шифрования согласно изобретению,

фиг.2 изображает алгоритм примерного варианта способа шифрования блока знаков согласно изобретению,

фиг.3 иллюстрирует программу "С", в которой реализован примерный вариант способа шифрования блока знаков,

фиг.4 - примерный вариант t1box,

фиг.5 - примерный вариант t2box.

Подробное описание предпочтительных вариантов реализации изобретения

Изображенный на фиг.1 примерный вариант реализации изобретения состоит из первой станции 1000, которая шифрует данные для радиопередачи на вторую приемную станцию 2000. Первая станция 1000 может быть удаленной станцией, ведущей передачу в сторону второй станции 2000, которая может быть базовой станцией. Альтернативно, первой станцией 1000 может быть базовая станция, ведущая передачу в сторону второй станцию 2000, которая может быть удаленной станцией. По всей вероятности, обе эти станции имеют средства шифрования и дешифрования, а также средства передачи и приема, однако на упрощенной схеме системы на фиг.1 показаны только элементы, необходимые для реализации данного изобретения. Кроме того, специалистам будет понятно, что преимущества изобретения не ограничены только областью радиосвязи и могут быть легко применены в любой ситуации, где требуется передавать засекреченные данные по какой-либо среде.

Как видно на фиг.1, память 10, содержащая данные, необходимые для шифрования в соответствии с алгоритмом БШПД, воплощающим данное изобретение, соединена с процессором 20. В данном примерном варианте процессор 20 представляет собой относительно простой 8-разрядный микропроцессор, способный выполнять команды, хранимые в коде БШПД 19. Процессор 20 содержит арифметико-логическое устройство (АЛУ, не показан на чертеже), способное выполнять простые 8-разрядные операции, такие как побитовое исключающее ИЛИ (обозначаемое символом способ и устройство для шифрования сигналов для передачи, патент № 2267227), сложение и вычитание целых чисел и т.п. Процессор 20 также выполнен с возможностью выполнения общих команд в процессе выполнения программы и загрузки, и сохранения значений из памяти, такой как память 10. Специалистам будет понятно, что эти требования довольно минимальные, что делает изобретение вполне пригодным для применения в тех ситуациях, где требования к размеру и/или стоимости делают желательным использование простых микропроцессоры, например, в портативных устройствах. Понятно, что изобретение может быть реализовано и с применением более мощных микропроцессоров.

Память 10 содержит таблицы t1box 12 и t2box 14, шифровальный ключ 16 и код 19 (код БШПД), подлежащий выполнению. Данные для шифрования вводятся в процессор 20, который сохраняет эти данные в памяти 10 в участке, называемом данные 18. Несмотря на то что на фиг.1 все эти элементы показаны в виде одного запоминающего устройства, следует понимать, что можно использовать несколько запоминающих устройств. В предпочтительном варианте таблицы 12 и 14, а также код БШПД 19 хранятся в энергонезависимой памяти, такой как ЭСППЗУ или флэш-память. Нет необходимости делать эти части памяти записываемыми.

Шифровальный ключ 16 можно сформировать с помощью ряда средств, хорошо известных в данной области. Одним из простых вариантов может быть ключ 16 в энергонезависимой памяти, который программируется в момент активизации станции для обслуживания. В этом примерном варианте ключ 16 формируется и изменяется в соответствии с протоколом, описанным в упомянутом выше стандарте EIA/TIA/IS-54-B.

Подлежащие шифрованию данные 18 запоминаются в оперативном запоминающем устройстве (ОЗУ). Шифрование будет выполняться "на месте", что означает, что те же участки памяти, которые хранят незашифрованные данные в начале процедуры, будут также хранить их промежуточные значения и окончательные зашифрованные данные.

Данные 18 шифруются в процессоре 20 в соответствии с кодом БШПД 19 с использованием t1box 12, t2box 14 и шифровального ключа 16. Процесс шифрования будет подробно описан ниже.

Зашифрованные данные 18 передаются процессором 20 в передатчик 30, где они модулируются, усиливаются и преобразуются с повышением частоты для передачи с антенны 40. Антенна 50 принимает данные и передает их в приемник 60, где эти данные преобразуются с понижением частоты, усиливаются, демодулируются и передаются а процессор 70. В данном примерном варианте используется формат радиосвязи между двумя станциями, показанными на фиг.1, описанный в "Стандарте совместимости подвижной станции с базовой станцией для двухрежимной широкополосной сотовой системы с расширенным спектром" TIA/EIA/IS-95-A. Использование методов МДКР в системе связи с множественным доступом, такой как радиотелефонная система, описано в патенте США 4901307 на изобретение "Система связи с множественным доступом и расширенным спектром, с использованием спутниковых или наземных ретрансляторов", принадлежащем заявителю настоящей заявки и упоминаемом здесь для сведения. Использование методов МДКР в системе с множественным доступом описано в патенте США 5103459 на изобретение "Система и способ для формирования сигналов в сотовой телефонной системе МДКР", также принадлежащей заявителю данного изобретения и упоминаемой здесь для сведения.

Процессор 70, к которому предъявляются те же требования, что и к процессору 20, подсоединен к памяти 80. Память 80 состоит из блоков памяти 82, 84, 86, 88 и 89, которые аналогичны блокам памяти 12, 14, 16, 18 и 19. Процессор 70 сохраняет зашифрованные данные в памяти 88 данных. Ключ 86 определяется так же, как ключ 16, описанный ранее. Таблицы 82 и 84 идентичны таблицам 12 и 14. Поскольку обработка данных в настоящем изобретении осуществляется самоинвертируемым способом, код БШПД 89, идентичный коду БШПД 19, выполняется в процессоре 70 вместе с t1box 82, t2box 84 и ключом 86 на зашифрованных данных так же, как это делалось в процессе шифрования данных 18. Как и ранее, обработка данных выполняется "на месте", в результате чего данные 88 становятся дешифрованными данными. Процессор 70 извлекает дешифрованные данные из памяти 80 и передает их для последующего использования через выход данных. В этом примерном варианте результирующие данные будут использованы в процедурах аутентификации, описанных в EIA/TIA/IS-54-B.

На фиг.2 показан алгоритм выполнения способа процессорами 20 и 70 вместе с ранее описанными элементами 10 и 80 памяти соответственно. Как упоминалось ранее, процесс шифрования является самоинвертируемым, что означает, что процесс дешифрования аналогичен процессу шифрования. Поэтому подробно будет описан только процесс шифрования. В процессе дешифрования блоки шифрования по фиг.1 будут заменены аналогичными блоками дешифрования, как отмечалось выше.

Блок 99 иллюстрирует начало процесса шифрования. Группа знаков, обозначенная buf [], используется для описания подлежащих шифрованию знаков, записанных в памяти 18 данных. Переменная n означает длину подлежащего шифрованию сообщения, выраженную в виде числа знаков. Как указывалось ранее, одно из усовершенствований, обеспечиваемых процессом БШПД, заключается в том, что выполняется пять прогонов шифрования. Каждый из этих прогонов заключен в рамку, образованную штриховыми линиями, и обозначен от 1 до 5, чтобы можно было легко различить прогоны. Каждый прогон имеет заметные сходства и различия. В прогонах 1, 3 и 5 используется таблица t1box 12 и процесс идет от начала буфера к концу. В прогонах 2 и 4 используется таблица t2box 14 и процесс идет от конца буфера к его началу. Свойство самоинвертирования в БШПД обеспечивается тем, что прогон 3 является самоинвертируемым, прогон 1 является инверсией прогона 5 и прогон 2 является инверсией прогона 4.

В предпочтительном варианте прогоны выполняются в противоположных направлениях. В альтернативных вариантах прогоны могут идти в одном и том же направлении, при этом в чередующихся прогонах используются одни и те же или разные таблицы (повторное использование одной и той же таблицы в нескольких прогонах повышает защиту шифрования, но не настолько, как при использовании разных таблиц). Еще одной альтернативой, которую можно использовать в комбинации с любым прогоном, является ввод дополнительных прогонов. В ситуации, когда прогоны выполняются в одном и том же направлении, модификации в первой записи буфера более предсказуемы, но предсказуемость снижается с каждой следующей модификацией, выполняемой далее по буферу. Когда используются переменные противоположные направления прогонов, модификация в первом байте буфера вполне предсказуема. Однако модификация этого же байта во втором прогоне зависит от всех байтов в буфере, что делает ее гораздо менее предсказуемой. Аналогичным образом, модификация последнего байта в буфере зависит от всех байтов в буфере во время первого прогона, а более предсказуемое изменение делается во втором. Поскольку предсказуемость изменения распределяется более равномерно, если использовать прогоны в противоположных направлениях, то это гораздо предпочтительнее, чем использование многократных прогонов в одном и том же направлении. Следует отметить, что прогон 3 реально не имеет направления, поскольку внесенное изменение будет идентичным в любом случае.

В каждом прогоне используется функция, tbox (). Именно в эту функцию вводится ключ 16. Параметры, передаваемые в функцию tbox (), состоят из таблицы объемом 256 байтов, которая представляет собой переданную t1box 12 или t2box 14, и индекса, обозначенного tv. В данном примерном варианте tbox () определяется как

способ и устройство для шифрования сигналов для передачи, патент № 2267227

где k0-k7 означает восемь 8-битных сегментов, которые при сцеплении образуют 64-битный ключ 16,

В [х] - х-тый 8-разрядный элемент матрицы В,

способ и устройство для шифрования сигналов для передачи, патент № 2267227 - побитовая операция исключающее ИЛИ,

+ - сложение по модулю 256.

В альтернативном варианте, если ключ определенной длины обеспечивает шифрование, признаваемое слишком сильным, силу ключа можно искусственно ограничить без изменения его длины путем изменения функции tbox (). Например, 64-битный ключ можно искусственно ограничить до 40 бит, используя 64-битный ключ таким образом, чтобы он находился в классе эквивалентности 2^24 других, но при этом гарантируют, чтобы любое битовое изменение в ключе давало другой результат. Следующее определение tbox () демонстрирует изменение, рекомендуемое для эффективного преобразования 64-битного ключа в 40-битный ключ:

способ и устройство для шифрования сигналов для передачи, патент № 2267227

где k0-k7 означает восемь 8-битных сегментов, которые после сцепления образуют 64-битный ключ 16,

В [х] - х-тый 8-битный элемент матрицы В,

способ и устройство для шифрования сигналов для передачи, патент № 2267227 - побитовую операцию исключающее ИЛИ,

+ - сложение по модулю 256.

Функция tbox () разработана таким образом, что каждая из промежуточных операций является перестановкой, а это означает, что каждый ввод имеет взаимно-однозначное соответствие с результатом. В примерном варианте используются операции сложения по модулю 256 и логическое исключающее ИЛИ. Если входное значение, переданное в tbox (), является перестановкой и табличный поиск - тоже, то использование этих функций гарантирует, что результат tbox () будет также взаимно-однозначной функцией. Иными словами, функция tbox () в целом гарантированно является перестановкой, если таковой является также и переданная в нее таблица. Этого не наблюдается в АШСС, где этапы в функции tbox () не являются взаимно-однозначными. Следовательно, если бы даже таблица СШРА в АШСС, которая не является перестановкой, была заменена таблицей, являющейся перестановкой, результат tbox () все равно не был бы перестановкой. В БШПД любой выбор взаимно однозначных функций для объединения материала ключа в целях формирования окончательной перестановки будет приемлемым. Одним из таких методов является данный примерный вариант. Специалисты смогут легко найти другие альтернативные метолы, не выходящие за рамки данного принципа перестановки. В функции tbox () можно альтернативно использовать промежуточные функции, в которых не сохраняется взаимно-однозначное соответствие результата, но их результаты будут ниже оптимальных.

Следующее усовершенствование, включенное в определение tbox (), состоит в том, что некоторые из битов ключа используются как в начале, так и в конце. В данном примерном варианте используется ключевой байт k0, но в альтернативных вариантах можно использовать любые ключевые биты и получить те же преимущества. Использование одного и того же значения позволяет исключить решение по методу пересечения в середине. Отсутствие повторного использования некоторой информации ключа как в начале, так и в конце позволяет прямое, хотя и сложное с точки зрения вычислений получение ключа из небольшого числа значений функции tbox (). При таком повторном использовании таблицы, используемые при попытках нарушения защиты шифрования, требуют гораздо больше пространства, а вычисления, необходимые для нахождения решения, должны быть намного экстенсивнее.

В примерном варианте БШПД подробно описывается использование функции tbox () вместе с двумя таблицами t1box и t2box. Полученные результаты являются зависимыми от ключа перестановками возможных входных данных. Но поскольку значения функции зависят только от ключа, а не от данных, можно альтернативно предварительно вычислить эту функцию для 256 возможных входных данных и двух возможных таблиц, сохранив результаты в памяти. Следовательно, переоценку функции может заменить табличным поиском. Специалистам в данной области будет понятно, что эти два способа функционально эквивалентны и что при применении данного варианта изобретения можно идти на компромисс, выбирая между временем и пространством. Эквивалентная альтернатива заключается в том, чтобы начать с таблиц, инициализированных с перестановки 256 возможных входных данных, и выполнить зависимую от ключа перетасовку этих таблиц при инициализации этого ключа. Тогда во время последующего шифрования будет с равным эффектом использоваться работа с индексной таблицей вместо текущих обращений к tbox ().

Таблицы t1box и t2box являются строгими перестановками, где ни одна из записей в таблице не равна своему индексу. Эта строгость гарантирует, что не существует ключа, который был бы слабее, чем любой другой ключ, что позволяет промежуточному значению при вычислении tbox () оставаться неизменным. Как было сказано ранее при описании функции tbox (), важно, чтобы эти таблицы были перестановками. Если бы таблицы не были перестановками, то после табличного поиска в функции tbox () возникали бы некоторые значения, которые не могли бы быть результатом. Эти невозможные значения позволили бы исключить отгадывание возвратных значений из tbox () и частей ключа, что значительно уменьшило бы работу по отгадыванию 64-разрядного ключа. В альтернативных вариантах можно использовать таблицы, не являющиеся перестановками, но такое шифрование будет хуже оптимального.

Любая форма криптографического анализа АШСС должна начинаться с определения значений функции tbox (). Полный анализ, где известны все результаты для 256 возможных входных данных, позволяет применять АШСС, даже не зная начального ключа. Однако этот ключ можно восстановить, зная всего четыре разных значения функции. Поэтому в БШПД придается особое значение маскировке результатов tbox () другими результатами, в частности значением tbox(O). Предусмотрен ряд альтернатив для выполнения этой маскировки. В предпочтительном варианте используется вторая отличная таблица t2box и добавочная пара прогонов, каждый из которых выполняется в противоположном направлении. Любая из этих трех модификаций или их подкомбинаций позволит в определенной степени решать проблему. Однако самый высокий уровень защиты обеспечивает комбинация всех трех модификаций.

В предпочтительном варианте в прямом и обратном прогонах используются разные таблицы t1box и t2box в совокупности с функцией tbox (). Это делается таким образом, чтобы при криптографическом анализе потребовалось раскрыть не одну, а две вспомогательные группы значений функции. Поскольку прогоны имеют тенденцию к взаимной маскировке, две таблицы обеспечивают оптимальную защиту. Можно предусмотреть альтернативные варианты, в которых используется только одна таблица. Хотя такие способы все еще надежны, их надежность ниже, чем при использовании двух таблиц.

Прогон 1 идет от блока 99 к блоку 102, где переменная v и индекс буфера i инициализируются с нуля. Затем в блоке 104 каждый знак buf [i] модифицируется путем прибавления к нему результата функции вызов tbox (t1box, vспособ и устройство для шифрования сигналов для передачи, патент № 2267227i). Переменная v затем обновляется в операции исключающее ИЛИ над ней и новым значением buf [i]. После этого увеличивается индекс i буфера. В блоке 106, если i<n, выносится решение, что прогон не закончен, и процесс возвращается к блоку 104. После изменения всех знаков согласно блоку 104, i будет равно n и прогон 1 будет завершен. Следует отметить, что знаки модифицируются, начиная с buf [0] в направлении конца, buf [n-1].

Прогон 2 идет от блока 106 к блоку 202, где переменная v инициализируется на значении n, а индекс буфера i инициализируется на значении n-1. Затем в блоке 204 каждый знак buf [i] модифицируется путем прибавления к нему результата функции вызов tbox (t2box, vспособ и устройство для шифрования сигналов для передачи, патент № 2267227i). Затем переменная v обновляется с помощью операции исключающее ИЛИ над ней и новым значением buf [i]. Индекс буфера i уменьшается. В блоке 206, если iспособ и устройство для шифрования сигналов для передачи, патент № 22672270, выносится решение, что прогон не закончен, и процесс возвращается в блок 204. После модификации всех знаков согласно блоку 204 i будет равно -1 и прогон 2 будет закончен. Следует отметить, что в отличие от прогона 1 знаки модифицируются, начиная с buf [n-1], процесс идет в направлении начала, buf [0], и используется таблица t2box 14 вместо таблицы t1box 12.

Прогон 3 начинается в блоке 302. Индекс i буфера инициализируется с нуля. Переменная v в этом прогоне не используется. Затем в блоке 304 каждый знак buf [i] модифицируется с помощью операции исключающее ИЛИ над ним и результатом функции вызов tbox (t1box, i+1). Затем увеличивается индекс i буфера. В блоке 306, если i<n, выносится решение, что прогон не закончен, и процесс возвращается в блок 304. После модификации всех знаков согласно блоку 304 i будет равно n и прогон 3 будет закончен. Следует отметить, что, как и в прогоне 1, знаки модифицируются, начиная с buf [0] по направлению к концу, buf [n-1], и используется таблица tibox 12. Как указывалось выше, направление прогона 3 не играет роли, так как при любом направлении достигается идентичный результат.

В прогоне 3 с каждой записью buf [0] суммируется другой результат из tbox (). Так как результаты из tbox () образуют перестановку, максимум только одно такое значение может быть нулем. Будет или не будет нуль, зависит от ключа. В БШПД изменение в буфере зависит от ключа и его очень трудно предсказать. В среднем, шанс того, что одно из значений будет нулем, равен n/256, где n - длина буфера. Для обеспечения шифрования достаточно любого самоинвертируемого, зависимого от ключа или от данных изменения, которое гарантирует, что значения в буфере будут изменены. Это усовершенствование БШПД имеет большую важность, так как в АШСС оставшиеся без изменения значения приводят к случаям, когда алгоритм вообще не шифрует.

Прогон 4 идет от блока 306 к блоку 402, где v инициализируется на значении n, а индекс буфера i инициализируется на значении n-1. Затем в блоке 404 временной переменной t назначается значение, возвращенное функцией вызов tbox (t2box, vспособ и устройство для шифрования сигналов для передачи, патент № 2267227i). Переменная v обновляется с помощью операции исключающее ИЛИ над ней и текущим значением buf [i]. Каждый знак buf [i] модифицируется путем вычитания из него значения временной переменной t. Затем уменьшается индекс буфера i. В блоке 406, если iспособ и устройство для шифрования сигналов для передачи, патент № 22672270, выносится решение, что прогон не завершен, и процесс возвращается к блоку 404. После изменения всех знаков согласно блоку 404 i будет равно -1 и прогон 4 будет завершен. Следует отметить, что подобно прогону 2 знаки модифицируются, начиная с buf [n-1] по направлению к началу, buf [0], и используется таблица t2box 14.

Прогон 5 идет от блока 406 к блоку 502, где переменная v и индекс i буфера инициализируются на нулевом значении. Затем в блоке 504 временной переменной t назначается значение, возвращенное функцией вызов tbox (t1box, vспособ и устройство для шифрования сигналов для передачи, патент № 2267227i). Переменная v модифицируется с помощью операции Исключающее ИЛИ над ней и текущим значением buf [i]. Затем каждый знак buf [i] модифицируется путем вычитания из него значения временной переменной t. Уменьшается индекс i буфера. В блоке 506, если i<n, выносится решение, что прогон не закончен, и процесс возвращается в блок 504. После изменения всех знаков согласно блоку 504 i будет равно n и прогон 5 будет закончен. Следует отметить, что подобно прогонам 1 и 3 знаки модифицируются, начиная с buf [n-1] в направлении начала, buf [0], и используется таблица t1box 12.

Далее переходим к блоку 600. Теперь шифрование закончено. Buf [] теперь содержит зашифрованные знаки для засекреченной передачи.

Программа "С", реализующая описанную выше операцию, показана на фиг.3. Таблица t1box 12 для программы "С" показана на фиг.4. Таблица t2box 14 для программы "С" показана на фиг.5.

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

Класс H04L9/06 шифровальные устройства, использующие регистры сдвига или запоминающие устройства для блочного кодирования, например системы на основе стандарта шифрования данных

устройство шифрования данных по стандарту гост 28147-89 -  патент 2498416 (10.11.2013)
устройство шифрования данных по стандартам гост 28147-89 и aes -  патент 2494471 (27.09.2013)
система и способ для обмена данными между первой системой обработки данных и второй системой обработки данных через, по меньшей мере, частично общедоступную сеть связи -  патент 2480924 (27.04.2013)
способы скремблирования и дескремблирования единиц данных -  патент 2439668 (10.01.2012)
способ проверки целостности шифровального ключа, полученного при помощи комбинации частей ключа -  патент 2411669 (10.02.2011)
устройство криптографической обработки, способ построения алгоритма криптографической обработки, способ криптографической обработки и компьютерная программа -  патент 2409902 (20.01.2011)
система блочной криптографической защиты, использующая преобразования для сокрытия основной функции криптографической защиты каждого цикла шифрования -  патент 2370897 (20.10.2009)
способ и устройство для выполнения криптографического вычисления -  патент 2357365 (27.05.2009)
способ блочного шифрования информации -  патент 2266622 (20.12.2005)
способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования -  патент 2257677 (27.07.2005)
Наверх