Bu bölüm, güvenlik değerlendirmelerinin eksik bir listesini içerir.
Rastgele gizli girdiler: XEdDSA ve VXEdDSA imzaları rastgeleleştirilmiştir; [1] veya [14]'teki anlamıyla deterministik değildir. İmzalama işlevi her çağrıldığında çağıran, yeni bir gizli ve rastgele 64 baytlık değer geçirmek zorundadır.
Deterministik imzalar, aynı nonce r'nin farklı iletilerle yeniden kullanılmasını önlemek için tasarlanmıştır; çünkü bu özel anahtar a'yı açığa çıkarır. Aşağıdaki gibi iki XEdDSA imzasını düşünün (R || s_1) ve (R || s_2):
s_1 = r + h_1*a (mod q)
s_2 = r + h_2*a (mod q)
Özel anahtar a, a = (s_1 - s_2)/(h_1 - h_2) (mod q) şeklinde hesaplanabilir.
Deterministik bir imzalama düzeni, r'yi rastgele sayı üretecinden almak yerine r'yi hesaplamak için M ile uzun ömürlü bir gizli değeri birlikte özetler. h'yi hesaplamak için de M özetlendiğinden, farklı h değerlerinin aynı r'yi alma olasılığı küçüktür. Ancak aynı ileti tekrar tekrar imzalanırsa, h hesabını etkileyen bir aksaklık bunun gerçekleşmesine yol açabilir (Benedikt Schmidt'in dikkat çektiği bir gözlem). Ayrıca aynı r'nin tekrar tekrar kullanılması, yan kanal analizi yoluyla r hakkında bilgi çıkarmayı kolaylaştırabilir.
Bu yüzden XEdDSA ve VXEdDSA, r'yi uzun ömürlü bir gizli anahtarı ve iletiyi özetleyerek hesaplama fikrini korur; ancak daha yüksek dayanıklılık için hesaba rastgele bir değer de ekler.
Sabit zaman. İmzalama algoritmaları, gizli bilgiye bağlı olarak farklı bellek erişimleri yapmamalı veya farklı sürelerde çalışmamalıdır. Bu genellikle, gizli anahtarlardan veya ileti içeriklerinden bağımsız olarak sabit bir komut ve bellek erişimi dizisini çalıştıran "sabit zamanlı" uygulamalarla sağlanır.
Koşullu dallanma kullanması nedeniyle calculate_key_pair işlevinde özel dikkat gösterilmelidir. hash_to_point işlevi de (elligator2 içinde) koşullu dallanma kullanır ve yalnızca iletiyi işliyor olsa da gizli anahtarları değil, sabit zamanlı hâle getirilmelidir.
Anahtar yeniden kullanımı: Aynı anahtar çiftini hem XEdDSA hem de VXEdDSA imzaları üretmek için kullanmak güvenlidir.
Kuramsal olarak, bazı koşullar altında bir anahtar çiftini imza üretmek için kullanmak ve aynı anahtar çiftini belirli Diffie-Hellman tabanlı protokollerde de kullanmak güvenlidir [15]. Uygulamada bu, dikkatli analiz gerektiren karmaşık bir konudur ve mevcut belgenin kapsamı dışındadır.