Files
qt5-legatus-legacy/Lts/Plugins/ProjectionWorkstation/Common/pws_des_encryption.h
T
2026-08-13 18:33:10 +02:00

42 lines
738 B
C++
Executable File

/**
* @RDE_HEADER@
* $Id$
* $HeadURL$
* $Author$
*/
#pragma once
#include <QtGlobal>
#include "pwscommon_export.h"
namespace ProjectionWorkstation
{
class PWSCOMMON_EXPORT DES
{
public:
explicit DES(quint64 key);
quint64 des(quint64 block, bool mode);
quint64 encrypt(quint64 block);
quint64 decrypt(quint64 block);
static quint64 encrypt(quint64 block, quint64 key);
static quint64 decrypt(quint64 block, quint64 key);
protected:
void keygen(quint64 key);
static quint64 ip(quint64 block);
static quint64 fp(quint64 block);
static void feistel(quint32 &L, quint32 &R, quint32 F);
static quint32 f(quint32 R, quint64 k);
private:
quint64 m_subKey[16]; // 48 bits each
};
} // ProjectionWorkstation