Update modes.cpp
parent
b8f42d784d
commit
b0dfbfdbcf
12
modes.cpp
12
modes.cpp
|
|
@ -215,12 +215,14 @@ void CBC_CTS_Encryption::ProcessLastBlock(byte *outString, const byte *inString,
|
||||||
length -= BlockSize();
|
length -= BlockSize();
|
||||||
|
|
||||||
// output last full ciphertext block
|
// output last full ciphertext block
|
||||||
if (inString == outString) {
|
if (inString == outString)
|
||||||
|
{
|
||||||
memcpy(m_buffer, outString+BlockSize(), length);
|
memcpy(m_buffer, outString+BlockSize(), length);
|
||||||
memcpy(outString+BlockSize(), m_register, length);
|
memcpy(outString+BlockSize(), m_register, length);
|
||||||
xorbuf(m_register, m_buffer, length);
|
xorbuf(m_register, m_buffer, length);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
memcpy(outString+BlockSize(), m_register, length);
|
memcpy(outString+BlockSize(), m_register, length);
|
||||||
xorbuf(m_register, inString+BlockSize(), length);
|
xorbuf(m_register, inString+BlockSize(), length);
|
||||||
}
|
}
|
||||||
|
|
@ -279,12 +281,14 @@ void CBC_CTS_Decryption::ProcessLastBlock(byte *outString, const byte *inString,
|
||||||
xorbuf(m_temp, inString+BlockSize(), length);
|
xorbuf(m_temp, inString+BlockSize(), length);
|
||||||
|
|
||||||
// decrypt next to last plaintext block
|
// decrypt next to last plaintext block
|
||||||
if (inString == outString) {
|
if (inString == outString)
|
||||||
|
{
|
||||||
memcpy(m_buffer, outString+BlockSize(), length);
|
memcpy(m_buffer, outString+BlockSize(), length);
|
||||||
memcpy(outString+BlockSize(), m_temp, length);
|
memcpy(outString+BlockSize(), m_temp, length);
|
||||||
memcpy(m_temp, m_buffer, length);
|
memcpy(m_temp, m_buffer, length);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
memcpy(outString+BlockSize(), m_temp, length);
|
memcpy(outString+BlockSize(), m_temp, length);
|
||||||
memcpy(m_temp, inString+BlockSize(), length);
|
memcpy(m_temp, inString+BlockSize(), length);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue