Алгоритм Выработки Ключей.
LOKI97 использует алгоритм выработки ключей, базирующийся на несбалансированной петле Фейстеля (как у Schneier и Kelsey [ScKe96]), оперирующий четырьмя 64 - байтовыми словами. Используется та же функция f(A,B) , как и при вычислении данных, чтобы обеспечить достаточную нелинейность для гарантии того, что вычислить связанные ключи трудно.
Алгоритм выработки ключей устанавливает  четыре 64-битных слова [K40|K30|K20|K10] на основании размера предлагаемого ключа следующим образом : 
При заданном 256-битном ключе [Ka|Kb|Kc|Kd] получим 
[K40|K30|K20|K10] = [Ka|Kb|Kc|Kd] 
При заданном 192-битном ключе [Ka|Kb|Kc]получим 
[K40|K30|K20|K10] = [Ka|Kb|Kc|f(Ka,Kb)]
При заданном 128-битном ключе [Ka|Kb] получим 
[K40|K30|K20|K10] = [Ka|Kb|f(Kb,Ka)|f(Ka,Kb)]
Затем они пропускаются через 48 циклов (i = 1,48) для получения 48 вспомогательных ключей :
      SKi = K1i = K4i-1 xor gi(K1i-1,K3i-1,K2i-1)
      K4i = K3i-1
      K3i = K2i-1
      K2i = K1i-1
где
        gi(K1,K3,K2)=f(K1+K3+(Delta*i),K2)
      Delta = (sqrt(5)-1)*263 = 9E3779B97F4A7C1516
Три цикла алгоритма выработки ключей требуются для создания трех вспомо-гательных ключей каждого цикла вычисления данных .Так, требуется всего 48 циклов для алгоритма выработки ключей, эквивалентных примерно трем зашифровывающим вычислениям .
Добавление формы К1+К3+(Delta*i) в группу, несовместимую с xor-ом, используемым на выходе предыдущего цикла , - такое же, как и при вычислении данных. Оно включает умножение по модулю 264 на Delta - значение , полученное из "золотого" соотношения для уменьшения проблем симметричности.
Расшифровывание использует ключи в обратном порядке , добавляя замену вспомогательного ключа SK3i-2 на SK3i и наоборот. Это необходимо , чтобы высчитать первоначально зашифрованное значение , и не существует укороченного варианта без этого действия.