Схема Сакаи — Касахары (SAKKE) — личностная криптографическая система, предложенная Раучи Сакаи и Масао Касахара в 2003 году. Вместе со схемой Боне — Франклина, данный алгоритм является одной из немногих личностных схем, применяемых в индустрии. Является криптографическим приложением спаривания на эллиптических кривых и конечных полях. Доказательство безопасности схемы было изложено в 2005 году Ченом и Ченгом. Схема описана в Инженерном совете Интернета (RFC) RFC 6508.
 В связи с тем, что данная схема является специфичным случаем личностной криптографии, основным вариантом её использования является возможность кому угодно зашифровать сообщение, зная только публичный идентификатор (например, e-mail) получателя. В данном ключе, алгоритм позволяет избавиться от необходимости пользователям обмениваться публичными сертификатами для шифрования.
 Схема Сакаи — Касахара позволяет зашифровать сообщение 
  
    
      
        
          M
        
      
    
    {\displaystyle \mathbb {M} }
  
 для получателя с конкретным идентификатором 
  
    
      
        
          
            I
            
              U
            
          
        
      
    
    {\displaystyle \textstyle I_{U}}
  
. Таким образом, только пользователь с закрытым ключом 
  
    
      
        
          
            K
            
              U
            
          
        
      
    
    {\displaystyle \textstyle K_{U}}
  
, соответствующим 
  
    
      
        
          
            I
            
              U
            
          
        
      
    
    {\displaystyle \textstyle I_{U}}
  
, сможет расшифровать переданное сообщение.
 Для реализации схемы необходимо, чтобы отправитель и получатель доверяли одному и тому же генератору закрытых ключей (ГЗК), который так же может называться системой управления ключами (KMS). Целью ГЗК является генерация приватного ключа 
  
    
      
        
          
            K
            
              U
            
          
        
      
    
    {\displaystyle \textstyle K_{U}}
  
, соответствующего публичному идентификатору 
  
    
      
        
          
            I
            
              U
            
          
        
      
    
    {\displaystyle \textstyle I_{U}}
  
. ГЗК должен сохранно и безопасно доставить закрытый ключ получателю, а также свой (зависящий от ГЗК) открытый параметр 
  
    
      
        
          Z
        
      
    
    {\displaystyle \textstyle Z}
  
 всем участникам схемы. Данные действия не рассматриваются в определении самой схемы.
 Схема использует две мультипликативные группы 
  
    
      
        
          E
        
      
    
    {\displaystyle \textstyle E}
  
 и 
  
    
      
        
          G
        
      
    
    {\displaystyle \textstyle G}
  
. Предполагается, что:
 Зачастую 
  
    
      
        
          E
        
      
    
    {\displaystyle \textstyle E}
  
 является суперсингулярной эллиптической кривой, как, например, 
  
    
      
        
          E
          :
          
            y
            
              2
            
          
          =
          
            x
            
              3
            
          
          −
          3
          x
        
      
    
    {\displaystyle \textstyle E:y^{2}=x^{3}-3x}
  
 (над конечным полем простого порядка 
  
    
      
        
          p
        
      
    
    {\displaystyle \textstyle p}
  
). Генератор 
  
    
      
        
          P
        
      
    
    {\displaystyle \textstyle P}
  
 простого порядка 
  
    
      
        
          q
        
      
    
    {\displaystyle \textstyle q}
  
 выбирается из 
  
    
      
        
          E
        
      
    
    {\displaystyle \textstyle E}
  
. Группа 
  
    
      
        
          G
        
      
    
    {\displaystyle \textstyle G}
  
 является образом группы, сгенерированной 
  
    
      
        
          P
        
      
    
    {\displaystyle \textstyle P}
  
, с помощью спаривания (над расширением второй степени конечного поля с простым порядком 
  
    
      
        
          p
        
      
    
    {\displaystyle \textstyle p}
  
).
 Также необходимо наличие двух хэш-функций: 
  
    
      
        
          
            H
            
              1
            
          
        
      
    
    {\displaystyle \textstyle H_{1}}
  
 и 
  
    
      
        
          
            H
            
              2
            
          
        
      
    
    {\displaystyle \textstyle H_{2}}
  
, таких, что:
 На вход ГЗК подаётся главный ключ 
  
    
      
        
          z
        
      
    
    {\displaystyle \textstyle z}
  
, удовлетворяющий 
  
    
      
        
          1
          <
          z
          <
          q
        
      
    
    {\displaystyle \textstyle 1<z<q}
  
, а также открытый ключ 
  
    
      
        
          Z
          =
          z
          P
        
      
    
    {\displaystyle \textstyle Z=zP}
  
, являющимся элементом группы 
  
    
      
        
          E
        
      
    
    {\displaystyle \textstyle E}
  
. Алгоритм вычисляет закрытый ключ 
  
    
      
        
          
            K
            
              U
            
          
        
      
    
    {\displaystyle \textstyle K_{U}}
  
, соответствующий 
  
    
      
        
          I
          
            D
            
              U
            
          
        
      
    
    {\displaystyle \textstyle ID_{U}}
  
 следующим образом:
 Чтобы зашифровать неповторяющееся сообщение 
  
    
      
        
          M
        
      
    
    {\displaystyle \mathbb {M} }
  
, отправителю необходимо знать идентификатор получателя 
  
    
      
        
          I
          
            D
            
              U
            
          
        
      
    
    {\displaystyle \textstyle ID_{U}}
  
 и открытый ключ генератора закрытых ключей 
  
    
      
        
          Z
        
      
    
    {\displaystyle \textstyle Z}
  
. Далее отправителю необходимо произвести следующие операции:
 Обратите внимание на то, что сообщение не должно повторяться, так как при неизменном идентификаторе получателя алгоритм выдаст тот же шифротекст. Существует расширение протокола для случая, если сообщения потенциально могут повторяться.
 Для того чтобы расшифровать сообщение, адресованное 
  
    
      
        
          I
          
            D
            
              U
            
          
        
      
    
    {\displaystyle \textstyle ID_{U}}
  
, получателю необходимо знать закрытый ключ 
  
    
      
        
          
            K
            
              U
            
          
        
      
    
    {\displaystyle \textstyle K_{U}}
  
, сгенерированный ГЗК и открытое значение 
  
    
      
        
          Z
        
      
    
    {\displaystyle \textstyle Z}
  
. Процедура расшифровки сообщения состоит из следующих действий:
 Данные равенства показывают корректность приведённого алгоритма:
 Благодаря билинейности отображения:
 В результате получаем:
 С данным протоколом связаны два стандарта: