Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///@file Объявление класса для SP-криптосистемы
- ///
- #include <iostream>
- #include <string>
- #include <vector>
- #include <fstream>
- #include <Windows.h>
- ///@brief Класс для криптосистемы Фейстеля с отбеливанием:
- ///
- class CryptoSystem
- {
- public:
- CryptoSystem( const std::vector<uint8_t>& S, const uint32_t& key );
- ///@brief Перевод std::vector<uint8_t>(4) sв uint32_t
- ///
- uint32_t FormBlock( const std::vector<uint8_t>& bytes );
- ///@brief Перевод uint32_t в std::vector<uint8_t>(4)
- ///
- std::vector<uint8_t> DeformBlock( const uint32_t& block );
- ///@brief Функция шифрования блока
- ///
- uint32_t EncryptBlock( const uint32_t& block, uint32_t key );
- ///@brief Функция шифрования исходного текста
- ///
- uint32_t EncryptText( std::vector<uint8_t> sourceText );
- ///@brief Раунд КС Фейстеля
- ///
- uint32_t FeistelRound( const uint32_t& block, const uint16_t& roundKey );
- ///@brief SP-блок
- ///
- uint32_t SP( const uint16_t& x, const uint16_t& roundKey );
- private:
- std::vector<uint8_t> S_;
- uint32_t feistelKey_;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement