- Removed GCM, CTR and OFB encryption modes.

- Every time server sends CALV message, IV will be changed as well.
This commit is contained in:
jerry 2013-08-16 18:06:30 +00:00
parent beab22e5b2
commit a25587c4c5
19 changed files with 63 additions and 411 deletions

View file

@ -27,22 +27,10 @@ CCryptoMode::CCryptoMode(ECryptoMode mode, bool encryption) :
{
if (m_encryption) {
switch (m_mode) {
case kOfb:
m_crypto = new COfbModeEnc;
break;
case kCfb:
m_crypto = new CCfbModeEnc;
break;
case kCtr:
m_crypto = new CCtrModeEnc;
break;
case kGcm:
m_crypto = new CGcmModeEnc;
break;
case kDisabled:
break;
@ -52,22 +40,10 @@ CCryptoMode::CCryptoMode(ECryptoMode mode, bool encryption) :
}
else {
switch (m_mode) {
case kOfb:
m_crypto = new COfbModeDec;
break;
case kCfb:
m_crypto = new CCfbModeDec;
break;
case kCtr:
m_crypto = new CCtrModeDec;
break;
case kGcm:
m_crypto = new CGcmModeDec;
break;
case kDisabled:
break;
@ -85,40 +61,16 @@ CCryptoMode::~CCryptoMode()
if (m_encryption) {
switch (m_mode) {
case kOfb:
delete reinterpret_cast<COfbModeEnc*>(m_crypto);
break;
case kCfb:
delete reinterpret_cast<CCfbModeEnc*>(m_crypto);
break;
case kCtr:
delete reinterpret_cast<CCtrModeEnc*>(m_crypto);
break;
case kGcm:
delete reinterpret_cast<CGcmModeEnc*>(m_crypto);
break;
}
}
else {
switch (m_mode) {
case kOfb:
delete reinterpret_cast<COfbModeDec*>(m_crypto);
break;
case kCfb:
delete reinterpret_cast<CCfbModeDec*>(m_crypto);
break;
case kCtr:
delete reinterpret_cast<CCtrModeDec*>(m_crypto);
break;
case kGcm:
delete reinterpret_cast<CGcmModeDec*>(m_crypto);
break;
}
}
}
@ -132,40 +84,16 @@ CCryptoMode::processData(byte* out, const byte* in, size_t length)
if (m_encryption) {
switch (m_mode) {
case kOfb:
reinterpret_cast<COfbModeEnc*>(m_crypto)->ProcessData(out, in, length);
break;
case kCfb:
reinterpret_cast<CCfbModeEnc*>(m_crypto)->ProcessData(out, in, length);
break;
case kCtr:
reinterpret_cast<CCtrModeEnc*>(m_crypto)->ProcessData(out, in, length);
break;
case kGcm:
reinterpret_cast<CGcmModeEnc*>(m_crypto)->ProcessData(out, in, length);
break;
}
}
else {
switch (m_mode) {
case kOfb:
reinterpret_cast<COfbModeDec*>(m_crypto)->ProcessData(out, in, length);
break;
case kCfb:
reinterpret_cast<CCfbModeDec*>(m_crypto)->ProcessData(out, in, length);
break;
case kCtr:
reinterpret_cast<CCtrModeDec*>(m_crypto)->ProcessData(out, in, length);
break;
case kGcm:
reinterpret_cast<CGcmModeDec*>(m_crypto)->ProcessData(out, in, length);
break;
}
}
}
@ -180,40 +108,16 @@ CCryptoMode::setKeyWithIv(const byte* key, size_t length, const byte* iv)
if (m_encryption) {
switch (m_mode) {
case kOfb:
reinterpret_cast<COfbModeEnc*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kCfb:
reinterpret_cast<CCfbModeEnc*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kCtr:
reinterpret_cast<CCtrModeEnc*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kGcm:
reinterpret_cast<CGcmModeEnc*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
}
}
else {
switch (m_mode) {
case kOfb:
reinterpret_cast<COfbModeDec*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kCfb:
reinterpret_cast<CCfbModeDec*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kCtr:
reinterpret_cast<CCtrModeDec*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
case kGcm:
reinterpret_cast<CGcmModeDec*>(m_crypto)->SetKeyWithIV(key, length, iv);
break;
}
}
}