亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rijndaeltest_ref.dpr

?? Rijndael algorithm修正了CBC下BUG的版本(有源代碼)工作在:D5。作者:Sergey Kirichenko。
?? DPR
?? 第 1 頁 / 共 2 頁
字號:
  { prepare Tables Known Answer Tests: }
  AssignFile(fp,tblFile);
  rewrite(fp);           // write mode
  writeln(fp,format(
	  '/* Description of what tables are tested:'+#13+#10+
          '   The provided implementations each use a different set of tables'+#13+#10+
          '    - Java implementation: uses no tables'+#13+#10+
          '    - reference C implementation: uses Logtable, Alogtable, S, Si, rcon'+#13+#10+
          '    - fast C implementation: uses Logtable, Alogtable,  rcon'+#13+#10+
          '        and additionally, T1, T2, T3, T4, T5, T6, T7, T8'+#13+#10+
          '        and (for the inverse key schedule only) U1, U2, U3, U4.'+#13+#10+
          '   All these tables are tested.'+#13+#10+
          #13+#10+
          '========================='+#13+#10+
          #13+#10+
          'FILENAME:  "%s"'+#13+#10+
          #13+#10+
          'Electronic Codebook (ECB) Mode'+#13+#10+
          'Tables Known Answer Tests'+#13+#10+
          #13+#10+
          'Algorithm Name: Rijndael'+#13+#10+
          'Principal Submitter: %s',
          [tblFile,SUBMITTER]));
  flush(fp);

  if fileexists('table.128') then
    begin
      AssignFile(fp2,'table.128');
      reset(fp2);           // read mode
      rijndaelTKAT(fp, 128, 128, fp2);
      CloseFile(fp2);
    end
  else
    begin
      writeln('Table Known Answer test expects file table.128');
      haltwait; // (EXIT_FAILURE);
    end;
  if fileexists('table.192') then
    begin
      AssignFile(fp2,'table.192');
      reset(fp2);           // read mode
      rijndaelTKAT(fp, 128, 192, fp2);
      CloseFile(fp2);
    end
  else
    begin
      writeln('Table Known Answer test expects file table.192');
      haltwait; //(EXIT_FAILURE);
    end;

  if fileexists('table.256') then
    begin
      AssignFile(fp2,'table.256');
      reset(fp2);           // read mode
      rijndaelTKAT(fp, 128, 256, fp2);
      CloseFile(fp2);
    end
  else
    begin
      writeln('Table Known Answer test expects file table.256');
      haltwait; // (EXIT_FAILURE);
    end;

  write(fp,#13+#10+'==========');
  CloseFile(fp);

  { prepare Intermediate Values Known Answer Tests: }
  AssignFile(fp,ivFile);
  rewrite(fp);
  writeln(fp,format(#13+#10+
		'========================='+#13+#10+
		#13+#10+
		'FILENAME:  "%s"'+#13+#10+
		#13+#10+
		'Electronic Codebook (ECB) Mode'+#13+#10+
		'Intermediate Value Known Answer Tests'+#13+#10+
		#13+#10+
		'Algorithm Name: Rijndael'+#13+#10+
		'Principal Submitter: %s',
		[ivFile,SUBMITTER]));
  flush(fp);

  rijndaelIVKAT(fp, 128, BITSPERBLOCK);
  rijndaelIVKAT(fp, 192, BITSPERBLOCK);
  rijndaelIVKAT(fp, 256, BITSPERBLOCK);

  write(fp,#13+#10+'==========');
  CloseFile(fp);
end;

procedure rijndaelECB_MCT(var fp: textfile; const initKey: pchar; keyLength: integer;
	const initBlock: pchar; blockLength: integer; direction: byte);
var
  i, j: integer;
  inBlock, outBlock, binKey: array [0..(4*MAXBC)-1] of BYTE;
  keyMaterial: array [0..320-1] of byte;
  keyInst: TkeyInstance;
  cipherInst: TcipherInstance;
{$ifdef TRACE_KAT_MCT}
  elapsed: TDateTime;
{$endif} // ?TRACE_KAT_MCT
begin

{$ifdef TRACE_KAT_MCT}
  write(format('Executing ECB MCT (%s, key %d): ',[iif2(direction= DIR_ENCRYPT,'ENCRYPT','DECRYPT'),keyLength]));
  elapsed:= time;
{$endif} // ?TRACE_KAT_MCT
  writeln(fp,format(#13+#10+
		'========================='+#13+#10+
		#13+#10+
		'KEYSIZE=%d',[keyLength]));
  flush(fp);
  HexToBin(addr(outBlock), initBlock, blockLength);
  HexToBin(addr(binKey), initKey, keyLength);
  for i:= 0 to 400-1 do
    begin
{$ifdef TRACE_KAT_MCT}
      write('.');
{$endif} // ?TRACE_KAT_MCT
      writeln(fp, format(#13+#10+'I=%d',[i]));
      { prepare key: }
      for j:= 0 to (keyLength div 8)-1 do
        StrLCopy(addr(keyMaterial[2*j]),pchar(format('%.2X',[binKey[j]])),2);
      keyMaterial[keyLength div 4]:= 0;
      writeln(fp, format('KEY=%s', [StrPas(addr(keyMaterial))]));
      keyInst.blockLen:= blockLength;
      makeKey(addr(keyInst), direction, keyLength, addr(keyMaterial));
      { do encryption/decryption: }
      blockPrint(fp, addr(outBlock), blockLength, iif2(direction = DIR_ENCRYPT, 'PT', 'CT'));
      cipherInst.blockLen:= blockLength;
      cipherInit(addr(cipherInst), MODE_ECB, nil);
      if (direction = DIR_ENCRYPT) then
        for j:= 0 to 10000-1 do
          begin
            Move(outBlock, inBlock, blockLength div 8); //memcpy
            blocksEnCrypt(addr(cipherInst), addr(keyInst), addr(inBlock), blockLength, addr(outBlock));
          end
      else
        for j:= 0 to 10000-1 do
          begin
            Move(outBlock, inBlock, blockLength div 8);  //memcpy
            blocksDeCrypt(addr(cipherInst), addr(keyInst), addr(inBlock), blockLength, addr(outBlock));
          end;
      blockPrint(fp, addr(outBlock), blockLength, iif2(direction = DIR_ENCRYPT, 'CT', 'PT'));
      { prepare new key: }
      case keyLength of
        128: for j:= 0 to (128 div 8)-1 do
               binKey[j]:= binKey[j] xor outBlock[j];
        192: begin
               for j:= 0 to (64 div 8)-1 do
                 binKey[j]:= binKey[j] xor inBlock[j + (64 div 8)];
               for j:= 0 to (128 div 8)-1 do
                 binKey[j + (64 div 8)]:= binKey[j + (64 div 8)] xor outBlock[j];
             end;
        256: begin
               for j:= 0 to (128 div 8)-1 do
                 binKey[j]:= binKey[j] xor inBlock[j];
               for j:= 0 to (128 div 8)-1 do
                 binKey[j + (128 div 8)]:= binKey[j + (128 div 8)] xor outBlock[j];
             end;
      end;
    end;
{$ifdef TRACE_KAT_MCT}
  elapsed:= time -elapsed;
  writeln(format(' done (%s).', [timetostr(elapsed)]));
{$endif} // ?TRACE_KAT_MCT
end; {* rijndaelECB_MCT *}

procedure rijndaelCBC_MCT(var fp: textfile; const initKey: pchar; keyLength: integer;
	const initIV, initBlock: pchar; blockLength: integer; direction: BYTE);
var
  i, j, r, t: integer;
  inBlock, outBlock, binKey, cv: array [0..(256 div 8)-1] of byte;
  keyMaterial: array [0..320-1] of byte;
  iv: array [0..64] of byte;
  keyInst: TkeyInstance;
  cipherInst: TcipherInstance;
{$ifdef TRACE_KAT_MCT}
  elapsed: TDateTime;
{$endif} // ?TRACE_KAT_MCT
begin

{$ifdef TRACE_KAT_MCT}
  write(format('Executing CBC MCT (%s, key %d): ',[iif2(direction= DIR_ENCRYPT,'ENCRYPT','DECRYPT'),keyLength]));
  elapsed:= time;
{$endif} // ?TRACE_KAT_MCT
  writeln(fp,format(#13+#10+
		'=========='+#13+#10+
		#13+#10+
		'KEYSIZE=%d',[keyLength]));
  flush(fp);
  HexToBin(addr(inBlock), initBlock, blockLength); { this is either PT0 or CT0 }
  HexToBin(addr(cv), initIV, blockLength);
  HexToBin(addr(binKey), initKey, keyLength);
  for i:= 0 to 400-1 do
    begin
{$ifdef TRACE_KAT_MCT}
      write('.');
{$endif} // ?TRACE_KAT_MCT
      writeln(fp, format(#13+#10+'I=%d',[i]));
      { prepare key: }
      for j:= 0 to (keyLength div 8)-1 do
        StrLCopy(addr(keyMaterial[2*j]),pchar(format('%.2X',[binKey[j]])),2);
      keyMaterial[keyLength div 4]:= 0;
      writeln(fp, format('KEY=%s', [StrPas(addr(keyMaterial))]));
      keyInst.blockLen:= blockLength;
      r:= makeKey(addr(keyInst), direction, keyLength, addr(keyMaterial));
      if (rTRUE <> r) then
        begin
          writeln(format('makeKey error %d',[r]));
          haltwait; //-1
        end;
      { do encryption/decryption: }
      blockPrint(fp, addr(cv), blockLength, 'IV');
      blockPrint(fp, addr(inBlock), blockLength, iif2(direction = DIR_ENCRYPT, 'PT', 'CT'));
      if (direction = DIR_ENCRYPT) then
        for j:= 0 to 10000-1 do
          begin
            for t:= 0 to (blockLength div 8)-1 do
              StrLCopy(addr(iv[2*t]),pchar(format('%.2X',[cv[t]])),2);
            cipherInst.blockLen:= blockLength;
            r:= cipherInit(addr(cipherInst), MODE_CBC, addr(iv));
            if (rTRUE <> r) then
              begin
                writeln(format('cipherInit error %d',[r]));
                haltwait;
              end;
            r:= blocksEnCrypt(addr(cipherInst), addr(keyInst), addr(inBlock), blockLength, addr(outBlock));
            if (blockLength <> r) then
              begin
                writeln(format('blockEncrypt error %d',[r]));
                haltwait;
              end;
            Move(cv, inBlock, blockLength div 8);
            Move(outBlock, cv, blockLength div 8);
          end
      else
        for j:= 0 to 10000-1 do
          begin
            for t:= 0 to (blockLength div 8)-1 do
              StrLCopy(addr(iv[2*t]),pchar(format('%.2X',[cv[t]])),2);
            cipherInst.blockLen:= blockLength;
            cipherInit(addr(cipherInst), MODE_CBC, addr(iv));
            blocksDeCrypt(addr(cipherInst), addr(keyInst), addr(inBlock), blockLength, addr(outBlock));
            Move(inBlock, cv, blockLength div 8);
            Move(outBlock, inBlock, blockLength div 8);
          end;
      blockPrint(fp, addr(outBlock), blockLength, iif2(direction = DIR_ENCRYPT, 'CT', 'PT'));
      { prepare new key: }
      case (keyLength) of
        128:  for j:= 0 to (128 div 8)-1 do
                binKey[j]:= binKey[j] xor outBlock[j];
        192:  begin
                for j:= 0 to (64 div 8)-1 do
                  if (direction = DIR_ENCRYPT) then
                    binKey[j]:= binKey[j] xor inBlock[j + (64 div 8)]
                  else
                    binKey[j]:= binKey[j] xor cv[j + (64 div 8)];
                for j:= 0 to (128 div 8)-1 do
                  binKey[j+ (64 div 8)]:= binKey[j+ (64 div 8)] xor outBlock[j];
              end;
        256:  begin
                for j:= 0 to (128 div 8)-1 do
                  if (direction = DIR_ENCRYPT) then
                    binKey[j]:= binKey[j] xor inBlock[j]
                  else
                    binKey[j]:= binKey[j] xor cv[j];
                for j:= 0 to (128 div 8)-1 do
                  binKey[j+ (128 div 8)]:= binKey[j+ (128 div 8)] xor outBlock[j];
              end;
      end;
    end;
{$ifdef TRACE_KAT_MCT}
  elapsed:= time -elapsed;
  writeln(format(' done (%s).', [timetostr(elapsed)]));
{$endif} // ?TRACE_KAT_MCT
end; {* rijndaelCBC_MCT *}


procedure makeMCTs(const ecbEncryptionFile, ecbDecryptionFile,
	cbcEncryptionFile, cbcDecryptionFile: string);
var
  fp: textfile;
begin
  { prepare ECB Encryption Monte Carlo Tests: }
  AssignFile(fp,ecbEncryptionFile);
  rewrite(fp);
  writeln(fp,format(#13+#10+
		'========================='+#13+#10+
		#13+#10+
		'FILENAME:  "%s"'+#13+#10+
		#13+#10+
		'Electronic Codebook (ECB) Mode - ENCRYPTION'+#13+#10+
		'Monte Carlo Test'+#13+#10+
		#13+#10+
		'Algorithm Name: Rijndael'+#13+#10+
		'Principal Submitter: %s',
		[ecbEncryptionFile,SUBMITTER]));
  flush(fp);
  rijndaelECB_MCT(fp,
		'00000000000000000000000000000000', 128,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_ENCRYPT);
  rijndaelECB_MCT(fp,
		'000000000000000000000000000000000000000000000000', 192,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_ENCRYPT);
  rijndaelECB_MCT(fp,
		'0000000000000000000000000000000000000000000000000000000000000000', 256,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_ENCRYPT);
  write(fp,#13+#10+'===========');
  CloseFile(fp);

  { prepare ECB Decryption Monte Carlo Tests: }
  AssignFile(fp,ecbDecryptionFile);
  rewrite(fp);
  writeln(fp,format(#13+#10+
		'========================='+#13+#10+
		#13+#10+
		'FILENAME:  "%s"'+#13+#10+
		#13+#10+
		'Electronic Codebook (ECB) Mode - DECRYPTION'+#13+#10+
		'Monte Carlo Test'+#13+#10+
		#13+#10+
		'Algorithm Name: Rijndael'+#13+#10+
		'Principal Submitter: %s',
		[ecbDecryptionFile,SUBMITTER]));
  flush(fp);
  rijndaelECB_MCT(fp,
		'00000000000000000000000000000000', 128,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_DECRYPT);
  rijndaelECB_MCT(fp,
		'000000000000000000000000000000000000000000000000', 192,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_DECRYPT);
  rijndaelECB_MCT(fp,
		'0000000000000000000000000000000000000000000000000000000000000000', 256,
		'00000000000000000000000000000000', BITSPERBLOCK, DIR_DECRYPT);
  write(fp,#13+#10+'===========');
  CloseFile(fp);

  { prepare CBC Encryption Monte Carlo Tests: }
  AssignFile(fp,cbcEncryptionFile);
  rewrite(fp);
  writeln(fp,format(#13+#10+
  		'========================='+#13+#10+
		#13+#10+
		'FILENAME:  "%s"'+#13+#10+
		#13+#10+
		'Cipher Block Chaining (CBC) Mode - ENCRYPTION'+#13+#10+
		'Monte Carlo Test'+#13+#10+
		#13+#10+
		'Algorithm Name: Rijndael'+#13+#10+
		'Principal Submitter: %s',
		[cbcEncryptionFile,SUBMITTER]));
  flush(fp);
  rijndaelCBC_MCT(fp,
		'00000000000000000000000000000000', 128,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_ENCRYPT);
  rijndaelCBC_MCT(fp,
		'000000000000000000000000000000000000000000000000', 192,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_ENCRYPT);
  rijndaelCBC_MCT(fp,
		'0000000000000000000000000000000000000000000000000000000000000000', 256,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_ENCRYPT);
  write(fp,#13+#10+'===========');
  CloseFile(fp);

  { prepare CBC Decryption Monte Carlo Tests: }
  AssignFile(fp,cbcDecryptionFile);
  rewrite(fp);
  writeln(fp,format(#13+#10+
		'========================='+#13+#10+
		#13+#10+
		'FILENAME:  "%s"'+#13+#10+
		#13+#10+
		'Cipher Block Chaining (CBC) Mode - DECRYPTION'+#13+#10+
		'Monte Carlo Test'+#13+#10+
		#13+#10+
		'Algorithm Name: Rijndael'+#13+#10+
		'Principal Submitter: %s',
		[cbcDecryptionFile,SUBMITTER]));
  flush(fp);
  rijndaelCBC_MCT(fp,
		'00000000000000000000000000000000', 128,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_DECRYPT);
  rijndaelCBC_MCT(fp,
		'000000000000000000000000000000000000000000000000', 192,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_DECRYPT);
  rijndaelCBC_MCT(fp,
		'0000000000000000000000000000000000000000000000000000000000000000', 256,
		'00000000000000000000000000000000', '00000000000000000000000000000000', BITSPERBLOCK,
		DIR_DECRYPT);
  write(fp,#13+#10+'===========');
  CloseFile(fp);
end; {* makeMCTs *}

begin
{* main *}
  makeKATs('ecb_vk.txt', 'ecb_vt.txt', 'ecb_tbl.txt', 'ecb_iv.txt');
  makeMCTs('ecb_e_m.txt', 'ecb_d_m.txt', 'cbc_e_m.txt', 'cbc_d_m.txt');
  wait;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜狠狠色综合中国| 在线播放/欧美激情| 91国偷自产一区二区三区观看| 在线不卡一区二区| 国产精品久久久久精k8| 肉丝袜脚交视频一区二区| 国产精品综合视频| 91精品国产乱| 日本一区中文字幕| 99久久久国产精品免费蜜臀| 日韩一区二区三区在线| 亚洲图片欧美激情| 国产成人精品一区二区三区网站观看| 欧美日韩免费电影| 亚洲女厕所小便bbb| 国产东北露脸精品视频| 777久久久精品| 一区二区免费在线| 成人精品视频一区二区三区尤物| 7777精品伊人久久久大香线蕉完整版 | 日本道免费精品一区二区三区| 日韩一区二区精品葵司在线| 亚洲激情一二三区| 不卡av在线网| 日本一区二区免费在线观看视频 | 亚洲精品高清在线| 国产99精品在线观看| 精品国产乱码久久久久久免费| 亚洲欧美日韩国产一区二区三区| 国产精品18久久久久久久久久久久| 欧美日本国产一区| 亚洲一区二三区| 色婷婷亚洲精品| 亚洲人成在线播放网站岛国| 9l国产精品久久久久麻豆| 久久久久久久久久美女| 狠狠色丁香久久婷婷综| 日韩精品专区在线| 久久国产三级精品| 欧美不卡一区二区| 久久99精品国产.久久久久久| 日韩一区二区三区av| 日韩av一区二区三区| 91麻豆精品国产91久久久更新时间| 亚洲一区二区视频在线观看| 欧美午夜影院一区| 三级久久三级久久久| 在线电影一区二区三区| 免费成人av在线播放| 精品国产亚洲在线| 国产在线精品一区二区三区不卡| 久久蜜桃av一区精品变态类天堂 | 裸体健美xxxx欧美裸体表演| 欧美日韩国产高清一区二区三区 | 欧美精品 日韩| 日本成人中文字幕| www欧美成人18+| 成人午夜av在线| 亚洲图片你懂的| 欧美精选一区二区| 久99久精品视频免费观看| 久久―日本道色综合久久| 国产高清在线观看免费不卡| 国产精品电影一区二区三区| 欧美性色黄大片| 麻豆精品久久久| 国产日韩精品一区二区三区在线| 成人性色生活片免费看爆迷你毛片| 国产欧美日韩中文久久| 国产成人在线看| 亚洲精品大片www| 欧美人体做爰大胆视频| 国产在线播放一区二区三区| 国产精品国产精品国产专区不蜜| 91黄色小视频| 国产一区三区三区| 一区二区三区四区不卡在线 | 中文字幕制服丝袜成人av| 在线看不卡av| 国产福利电影一区二区三区| 一区二区日韩电影| 欧美精品一区二区在线观看| 色婷婷一区二区| 国产尤物一区二区| 午夜久久久影院| 中文字幕中文字幕在线一区 | 国产日韩欧美激情| 欧美视频在线一区二区三区 | 欧美性猛交xxxxxxxx| 国产在线精品一区在线观看麻豆| 亚洲图片另类小说| 久久久www免费人成精品| 色激情天天射综合网| 国产一区二区不卡在线| 亚洲一区二区黄色| 国产欧美一区二区三区网站| 在线播放中文一区| 91在线丨porny丨国产| 国产米奇在线777精品观看| 亚洲r级在线视频| 最新不卡av在线| 国产片一区二区| 欧美精品一区二区不卡| 欧美日本韩国一区| 一本色道久久综合亚洲aⅴ蜜桃 | 日韩亚洲欧美高清| 91久久精品日日躁夜夜躁欧美| 成人免费毛片高清视频| 激情深爱一区二区| 蜜臀av一级做a爰片久久| 亚洲国产日韩av| 亚洲激情五月婷婷| 日韩毛片在线免费观看| 国产午夜精品一区二区三区嫩草 | 欧美午夜精品理论片a级按摩| youjizz久久| 成人动漫av在线| 成人一区二区视频| 国产91对白在线观看九色| 国产一区二区美女| 紧缚奴在线一区二区三区| 美国一区二区三区在线播放| 亚洲成在人线免费| 丝袜美腿亚洲一区二区图片| 午夜精品一区二区三区三上悠亚 | 色老综合老女人久久久| 色综合天天狠狠| 一本色道亚洲精品aⅴ| 色婷婷久久综合| 在线视频一区二区三| 欧美性猛片xxxx免费看久爱| 欧美日韩一区在线观看| 亚洲一二三四久久| 国产无人区一区二区三区| 国产亚洲欧美在线| 国产精品网站一区| 亚洲精品视频在线观看网站| 一个色综合av| 亚洲bt欧美bt精品| 久久99精品国产91久久来源| 国产精品一区二区黑丝| 99在线热播精品免费| 在线观看亚洲成人| 欧美一区二区精品| 久久综合av免费| 1024成人网| 午夜精品123| 国产一区二区三区综合| www.久久久久久久久| 在线观看日产精品| 欧美大片国产精品| 国产精品久久久久久亚洲毛片 | 亚洲影院在线观看| 久久国产日韩欧美精品| 国产a久久麻豆| 欧美日韩一区高清| 久久久精品国产99久久精品芒果 | 欧美成人一区二区三区片免费| 国产欧美精品区一区二区三区| 一区二区三区精品在线观看| 蜜桃视频第一区免费观看| 成人免费视频国产在线观看| 日韩二区三区在线观看| 综合色中文字幕| 久久激情五月激情| 色999日韩国产欧美一区二区| 91精品国产综合久久久久| 亚洲国产精品ⅴa在线观看| 一级特黄大欧美久久久| 国产精品一区二区久久精品爱涩| 欧美性大战久久久久久久| 国产日韩综合av| 蜜臀av一区二区在线观看| 91福利资源站| 国产精品美女久久久久久久| 天堂一区二区在线| 色妹子一区二区| 日本一区二区成人| 久久99久久久欧美国产| 欧美日韩一区二区在线观看| 中文字幕av一区二区三区免费看 | 精品入口麻豆88视频| 一区二区三区欧美| 成人福利视频在线看| 欧美精品一区二区在线播放| 天堂在线亚洲视频| 欧美丝袜丝交足nylons图片| 国产精品入口麻豆九色| 韩国三级电影一区二区| 欧美另类z0zxhd电影| 亚洲精品一二三四区| 国产成人综合亚洲网站| 欧美tk丨vk视频| 日本成人在线视频网站| 欧美色涩在线第一页| 一区二区三区毛片| 色噜噜狠狠色综合中国| 国产精品白丝在线| 99久久国产综合色|国产精品| 欧美国产激情一区二区三区蜜月|