How to modify narginchk in DES matlab code
조회 수: 4 (최근 30일)
이전 댓글 표시
I have downloaded DES code from file exchange and try to modify it a bit but it gives error which I cannot figure out whats wrong with hit. Here is the part of the code
function [varargout] = DES(~,~)
%DES: Data Encryption Standard
% Encrypt/Decrypt a 64-bit message using a 64-bit key using the Feistel Network
% -------------------------------------------------------------------------
% Inputs:
input64 = '1234567890123456789012345678901234567890123456789012345678901234' ;
mode = 'ENC';
key ='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
Outputs:
% varargout{1} = output64, a 64-bit message after encryption/decryption
% varargout{2} = a 64-bit key, if a 64-bit key is not provided as an input
% -------------------------------------------------------------------------
% Demos:
0. Initialization %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.1 check input
%error(nargchk(1,3,nargin));
narginchk(1,3);
switch nargin
case 1
narginchk(1,3); error at this line.
>> DES
Error using DES (line 64)
Not enough input arguments.
....
댓글 수: 0
채택된 답변
Walter Roberson
2019년 11월 16일
편집: Walter Roberson
2019년 11월 16일
You should not modify it to assign input64 and mode and key in the code. You should define the function as accepting up to 3 input variables, input64, mode and key and you should pass the desired values into the function.
If you insist on defining the variables inside the function, then comment out the narginchk line and the entire switch block with all cases.
댓글 수: 3
Walter Roberson
2019년 11월 18일
If you are using the FEX contribution DES then you have to pass arguments to it when you run it.
k = keygen;
msg = 'To be, or not to be!'
emsg = DES(msg, k, 'ENC');
dmsg = DES(emsg, k, 'DEC')
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Specifying Target for Graphics Output에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!