<sub id="rfsed"></sub>
  • <s id="rfsed"></s>
      <sub id="rfsed"><dl id="rfsed"></dl></sub>
      <small id="rfsed"></small>

        上海動(dòng)信微電子科技有限公司

        技術(shù)資料

        您的當(dāng)前位置:首頁 > 新聞中心 > 技術(shù)資料

        DX8加密芯片應(yīng)用開發(fā)手冊(六)

        發(fā)布時(shí)間:2017-09-05瀏覽次數(shù):載入中...來源:上海動(dòng)信微電子科技有限公司


        7.2.基于標(biāo)識數(shù)據(jù)加解密函數(shù)(DX82C04):


        DX8加密芯片應(yīng)用開發(fā)手冊第六部分主要講解DX82C04物聯(lián)網(wǎng)安全加密芯片在基于標(biāo)識認(rèn)證實(shí)現(xiàn)數(shù)據(jù)加解密中函數(shù)的實(shí)現(xiàn)方法!


        7.2.1. 基本原理

        DX82C04物聯(lián)網(wǎng)加密芯片的基本原理圖

        用戶執(zhí)行數(shù)據(jù)加密或者解密運(yùn)算需要兩個(gè)步驟:

        l? 產(chǎn)生加密密鑰或者產(chǎn)生解密密鑰

        l? 加密明文或者解密密文

        1.? 加密方DX82芯片首先根據(jù)輸入的標(biāo)識參數(shù)和內(nèi)部產(chǎn)生的真隨機(jī)數(shù),共同生成隨機(jī)動(dòng)態(tài)的會話密鑰(真正的數(shù)據(jù)加解密密鑰,動(dòng)態(tài)存儲在DX82芯片內(nèi)部,永遠(yuǎn)無法讀出),然后對明文數(shù)據(jù)進(jìn)行加密。

        2.? 加密方將動(dòng)態(tài)的隨機(jī)數(shù)和密文傳給解密方。

        3. 解密方收到數(shù)據(jù)后,首先利用動(dòng)態(tài)的隨機(jī)數(shù)恢復(fù)會話密鑰,然后對密文數(shù)據(jù)進(jìn)行解密。

        說明1只有加密密鑰產(chǎn)生成功后才能執(zhí)行數(shù)據(jù)加密,同樣只有解密密鑰產(chǎn)生成功后才能執(zhí)行數(shù)據(jù)解密,任何錯(cuò)誤都會使DX82芯片內(nèi)部密鑰產(chǎn)生標(biāo)志清除。

        說明2會話密鑰只能由擁有加密方輸入的標(biāo)識參數(shù)的DX82芯片才能恢復(fù),因此加密方對誰進(jìn)行加密,就只有誰能解密,即使第三方獲得了動(dòng)態(tài)的隨機(jī)數(shù)和密文也無法恢復(fù)真正的會話密鑰。


        7.2.2. 會話密鑰產(chǎn)生模式


        DX82每次產(chǎn)生會話密鑰的輸入?yún)?shù)主要依賴:芯片內(nèi)部自動(dòng)產(chǎn)生的真隨機(jī)數(shù)、群密鑰、可選的對方8個(gè)字節(jié)SN序列號、可選的對方7個(gè)字節(jié)UID號以及雙方可臨時(shí)約定的8個(gè)字節(jié)任意OT值共同運(yùn)算產(chǎn)生。根據(jù)輸入可選的參數(shù)相,可以實(shí)現(xiàn)一對一私聊和一對多群聊。

        關(guān)于群密鑰,DX82芯片內(nèi)置了一個(gè)固定的公共密鑰域和一個(gè)用戶可設(shè)的私有密鑰域(KEYB),DX82芯片之間可以選擇私有域內(nèi)加解密通信,也可選擇公共域內(nèi)實(shí)現(xiàn)跨群加解密通信,根據(jù)可選的輸入?yún)?shù)相可以有以下8種模式:

        ?

        會話密鑰模式

        群密鑰

        選擇

        可選項(xiàng)

        備注

        SN

        UID

        OT

        PUBLIC

        公共域

        ?

        ?

        ?

        公共域群聊

        PUBLIC_OT

        ?

        ?

        Yes

        公共域臨時(shí)群聊

        PUBLIC_SN

        Yes

        ?

        ?

        公共域私聊

        PUBLIC_SNOT

        Yes

        ?

        Yes

        公共域臨時(shí)群私聊

        PUBLIC_ID

        ?

        Yes

        ?

        公共域私聊

        PUBLIC_IDOT

        ?

        Yes

        Yes

        公共域臨時(shí)群私聊

        PUBIC_IDSN

        Yes

        Yes

        ?

        公共域私聊

        PUBLIC_IDSNOT

        Yes

        Yes

        Yes

        公共域臨時(shí)群私聊

        PRIVATE

        私有域

        KEYB

        ?

        ?

        ?

        私有域群聊

        PRIVATE_OT

        ?

        ?

        Yes

        私有域臨時(shí)群聊

        PRIVATE_SN

        Yes

        ?

        ?

        私有域私聊

        PRIVATE_SNOT

        Yes

        ?

        Yes

        私有域臨時(shí)群私聊

        PRIVATE_ID

        ?

        Yes

        ?

        私有域私聊

        PRIVATE_IDOT

        ?

        Yes

        Yes

        私有域臨時(shí)群私聊

        PRIVATE_IDSN

        Yes

        Yes

        ?

        私有域私聊

        PRIVATE_IDSNOT

        Yes

        Yes

        Yes

        私有域臨時(shí)群私聊

        ?

        說明1SN是出廠后永遠(yuǎn)物理唯一的,UID是用戶設(shè)定的邏輯唯一,UID可以是用戶自定義的編碼規(guī)則,也可以綁定現(xiàn)有的編碼規(guī)范,如手機(jī)號、QQ號等,便于記憶,SNUID單獨(dú)參與會話密鑰產(chǎn)生均可實(shí)現(xiàn)私聊,但SNUID一起參與唯一性會更強(qiáng)。

        說明2OT值可以理解為臨時(shí)的會議密鑰或者臨時(shí)的驗(yàn)證碼,需要通過其他方式告知對方。


        7.2.3. 數(shù)據(jù)結(jié)構(gòu)定義


        7.2.3.1.? CRYPTO_TYPE

        ? ? ? ? ? ? ?C語言:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Java語言:

        DX82的C語言CRYPTO_TYPE? ? ? ? ? ?DX82的Java語言CRYTO_TYPE



        7.2.3.2.? CRYPTO_MODE

        ? ? ? ? ? ? C語言:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???Java語言:

        DX82的C語言的CRYPTO_MODE? ? ? ?DX82的Java語言的CRYPTO_MODE



        7.2.3.3.? CRYPTO_PARA

        ? ? ? ? ? ?C語言:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Java語言:

        DX82的C語言的CRYPTO_PARA? ? ? ? ?DX82的Java語言的CRYPTO_PARA



        seedDX82芯片產(chǎn)生會話密鑰時(shí),在芯片內(nèi)部自動(dòng)產(chǎn)生動(dòng)態(tài)的隨機(jī)數(shù)

        slen指定上述動(dòng)態(tài)隨機(jī)數(shù)的長度


        7.2.4. 直接初始化會話密鑰


        u8_x DX8_InitSessionKey(u8_x *buf);

        功能描述:直接初始化會話密鑰

        參數(shù):??? buf?? 輸入的16個(gè)字節(jié)會話密鑰

        返回值:? 初始化成功返回0,否則返回錯(cuò)誤代碼

        說明: 該函數(shù)功能是直接初始化會話密鑰,適合于事先雙方直接約定會話密鑰場合,不需要?jiǎng)討B(tài)產(chǎn)生會話密鑰,初始化成功后,接下來只能執(zhí)行數(shù)據(jù)加密或者解密的命令,其他任何其他命令或者錯(cuò)誤都將清除密鑰初始化標(biāo)志。

        示例代碼:

        u8_x rv;

        u8_x buf[16];

        rv = DX8_ InitSessionKey (buf);

        if (rv) {

        ?? printf(“Initial Session Key failed, rv = 0x%.2x\n”, rv);

        ?? return rv;

        }


        7.2.5. 根據(jù)標(biāo)識產(chǎn)生會話密鑰


        u8_x DX8_GenSessionKey( CRYPTO_TYPE type,

        CRYPTO_MODE mode,

        CRYPTO_PARA *para );

        功能描述:根據(jù)CRYPTO_TYPE, CRYPTO_MODE, CRYPTO_PARA產(chǎn)生相應(yīng)的會話密鑰

        參數(shù):??? type? 會話密鑰的類型,包括加密、解密、簽名、驗(yàn)簽的會話密鑰

        ????????? mode? 會話密鑰的模式,請見前文會話密鑰產(chǎn)生模式

        ????????? para? 產(chǎn)生會話密鑰的參數(shù),請見示例代碼描述

        返回值:? 產(chǎn)生成功返回0,否則返回錯(cuò)誤代碼

        ?

        示例代碼1(加密方:產(chǎn)生加密會話密鑰):

        u8_x rv;

        CRYPTO_PARA para;

        //? PRIVATE_IDSNOT模式為例,需要對para.ID, para.SN, para.OT賦值

        //? 1. 請賦值解密方ID, 如:

        para.ID = 0xxxxxxx;

        //? 2. 請賦值解密方SN, 如:

        para.SN = 0xxxxxxx;

        //? 3. 請賦值臨時(shí)OT, 如:

        para.OT = 0xxxxxxx;

        //? 4. 加密需要使用動(dòng)態(tài)隨機(jī)數(shù)的長度,最大32個(gè)字節(jié),如:

        para.slen = 32;

        //? 5. 產(chǎn)生加密的會話密鑰:

        rv = DX8_ GenSessionKey (CRYPTO_ENC, PRIVATE_IDSNOT, ?);

        if (rv) {

        ?? ???printf(“Generate Session Key failed, rv = 0x%.2x\n”, rv);

        ?? ???return rv;

        }

        說明1加密方會話密鑰產(chǎn)生成功后,para.seed將存儲DX82芯片返回指定長度的動(dòng)態(tài)隨機(jī)數(shù),該隨機(jī)數(shù)需要和密文一起傳給解密方

        說明2加密方會話密鑰產(chǎn)生成功后,接著只能執(zhí)行數(shù)據(jù)加密的操作,其他任何命令和錯(cuò)誤都會清除芯片內(nèi)部的會話密鑰產(chǎn)生標(biāo)志

        ?

        示例代碼2(解密方:產(chǎn)生解密會話密鑰):

        u8_x rv;

        CRYPTO_PARA para;

        // 不管什么模式,產(chǎn)生解密會話密鑰時(shí),使用的是芯片自身的SNID

        //? PRIVATE_IDSNOT為例,需要對para.OT賦值,

        //? 1. 請賦值加密方使用的OT值,如:

        para.OT = 0xxxxxx;

        //? 2. 請賦值加密方的產(chǎn)生的動(dòng)態(tài)隨機(jī)數(shù),如:

        para.seed = 0xxxxxx;

        //? 3. 請賦值加密方的產(chǎn)生的動(dòng)態(tài)隨機(jī)數(shù)的長度,如:

        para.slen = 32

        //? 4. 產(chǎn)生解密會話密鑰:

        rv = DX8_ GenSessionKey (CRYPTO_DEC, PRIVATE_IDSNOT, ?);

        if (rv) {

        ?? ???printf(“Generate Session Key failed, rv = 0x%.2x\n”, rv);

        ?? ???return rv;

        }

        說明1加解密雙方必須使用相同會話密鑰模式,否則無法產(chǎn)生正確會話密鑰

        說明2解密會話密鑰產(chǎn)生成功后,接著只能執(zhí)行數(shù)據(jù)解密的操作,其他任何命令和錯(cuò)誤都會清除芯片內(nèi)部的會話密鑰產(chǎn)生標(biāo)志

        示例代碼3(簽名方:產(chǎn)生簽名會話密鑰):

        u8_x rv;

        CRYPTO_PARA para;

        // 不管什么模式,產(chǎn)生簽名會話密鑰時(shí),使用芯片自身的SNID

        //? PRIVATE_IDSNOT為例,只需對para.OT賦值

        //? 1. 請賦值臨時(shí)OT, 如:

        para.OT = 0xxxxxx;

        //? 2. 簽名需要使用動(dòng)態(tài)隨機(jī)數(shù)的長度,如:

        para.slen = 32;

        //? 3. 產(chǎn)生簽名的會話密鑰

        rv = DX8_ GenSessionKey (CRYPTO_SIG, PRIVATE_IDSNOT, ?);

        if (rv) {

        ?? ???printf(“Generate Session Key failed, rv = 0x%.2x\n”, rv);

        ?? ???return rv;

        }

        說明1簽名會話密鑰產(chǎn)生成功后,para.seed將存儲DX82芯片返回指定長度的動(dòng)態(tài)隨機(jī)數(shù),該隨機(jī)數(shù)需要和簽名值一起傳給驗(yàn)簽方

        說明2簽名會話密鑰產(chǎn)生成功后,接著只能執(zhí)行數(shù)據(jù)簽名的操作,其他任何命令和錯(cuò)誤都會清除芯片內(nèi)部的會話密鑰產(chǎn)生標(biāo)志

        ?

        示例代碼4(驗(yàn)簽方:產(chǎn)生驗(yàn)簽會話密鑰):

        u8_x rv;

        CRYPTO_PARA para;

        //? PRIVATE_IDSNOT為例,需要對para.ID, para.SN, para.OT賦值

        //? 1. 請賦值簽名方ID, 如:

        para.ID = 0xxxxx;

        //? 2. 請賦值簽名方SN, 如:

        para.SN = 0xxxxx;

        //? 3. 請賦值簽名方使用的OT, 如:

        para.OT = 0xxxx;

        //? 4. 請賦值簽名方產(chǎn)生的動(dòng)態(tài)隨機(jī)數(shù), 如:

        para.seed = 0xxxxx;

        //? 5. 上述動(dòng)態(tài)隨機(jī)數(shù)的長度,如:

        para.slen = 32

        //? 6. 產(chǎn)生驗(yàn)簽會話密鑰:

        rv = DX8_ GenSessionKey (CRYPTO_VSIG, PRIVATE_IDSNOT, ?);

        if (rv) {

        ?? ???printf(“Generate Session Key failed, rv = 0x%.2x\n”, rv);

        ? ????return rv;

        }

        說明:簽名方和驗(yàn)簽方必須使用相同會話密鑰模式,否則無法產(chǎn)生正確會話密鑰


        7.2.6. Crypto計(jì)算


        u8_x DX8_DoCrypto( CRYPTO_TYPE type,

        u8_x ?*din,

        u8_x ?*dout,

        u16_x len );

        功能描述:根據(jù)指定的CRYPTO_TYPE對輸入數(shù)據(jù)進(jìn)行Crypto計(jì)算

        參數(shù):??? type?? crypto計(jì)算類型,包括加密、解密、簽名、驗(yàn)簽

        ????????? din??? 輸入數(shù)據(jù)

        ????????? dout?? 輸出數(shù)據(jù)

        ????????? len??? 計(jì)算數(shù)據(jù)的長度

        返回值:? 計(jì)算成功返回0,否則返回錯(cuò)誤代碼

        說明:在進(jìn)行指定的crypto類型計(jì)算前,必須要先直接初始化會話密鑰或者產(chǎn)生相應(yīng)的會話密鑰,否則返回操作權(quán)限錯(cuò)誤,會話密鑰產(chǎn)生成功后,可連續(xù)多次執(zhí)行相應(yīng)的crypto計(jì)算,任何其他的命令都會清除DX82芯片內(nèi)部的會話密鑰標(biāo)志。

        示例代碼:

        u8_x rv;

        u8_x din[1024];

        u8_x dout[1024];

        // 加密運(yùn)算

        rv = DX8_ GenSessionKey (CRYPTO_ENC, PRIVATE_IDSNOT, ?);

        rv = DX8_DoCrypto(CRYPTO_ENC, din, dout, 1024);

        // 解密運(yùn)算

        rv = DX8_ GenSessionKey (CRYPTO_DEC, PRIVATE_IDSNOT, ?);

        rv = DX8_DoCrypto(CRYPTO_DEC, din, dout, 1024);

        // 簽名運(yùn)算

        rv = DX8_ GenSessionKey (CRYPTO_SIG, PRIVATE_IDSNOT, ?);

        rv = DX8_DoCrypto(CRYPTO_SIG, din, dout, 1024);

        // 驗(yàn)簽運(yùn)算

        rv = DX8_ GenSessionKey (CRYPTO_VSIG, PRIVATE_IDSNOT, ?);

        rv = DX8_DoCrypto(CRYPTO_VSIG, din, dout, 1024);


        7.3.用戶SHA1計(jì)算(DX82


        DX82芯片為用戶提供了硬件SHA1模塊,可方便主機(jī)的進(jìn)行摘要計(jì)算,減輕主機(jī)計(jì)算能力,一次完整SHA1計(jì)算分為三個(gè)步驟:

        l? 初始化

        l? 一次或者多次加載數(shù)據(jù)

        l? 獲取計(jì)算結(jié)果


        7.3.1. SHA1初始化


        u8_x DX8_Sha1Init(u8_x flag);

        功能描述:初始化DX82芯片硬件SHA1

        參數(shù):??? flag, 0: Lib庫軟件計(jì)算, 1DX8芯片計(jì)算

        返回值:? 初始化成功返回0,否則返回錯(cuò)誤代碼


        7.3.2. SHA1數(shù)據(jù)加載


        u8_x DX8_Sha1Update(u8_x *message, u16_x len);

        功能描述:SHA1消息數(shù)據(jù)的輸入,可以多次調(diào)用此函數(shù)進(jìn)行數(shù)據(jù)加載

        參數(shù):??? message?? 消息輸入

        ????????? len???????? 消息長度

        返回值:? 數(shù)據(jù)加載成功,否則返回錯(cuò)誤代碼


        7.3.3. 獲取SHA1計(jì)算結(jié)果


        u8_x DX8_Sha1Final(u8_x *digest);

        功能描述:獲取SHA1摘要計(jì)算結(jié)果

        參數(shù):??? digest?? 返回的結(jié)果數(shù)據(jù),20個(gè)字節(jié)

        返回值:? 執(zhí)行成功返回0,否則返回錯(cuò)誤代碼

        SHA1示例代碼:

        u8_x rv; u8_x message[1024]; u8_x digest[20];

        rv = DX8_Sha1Init();

        rv = DX8_Sha1Update (message,1024); // 一次或者多次加載

        rv = DX8_Sha1Final(digest);

        ?

        7.4.軟件流加密函數(shù)


        此部分庫函數(shù)全部上位機(jī)軟件計(jì)算,不訪問硬件DX8芯片,供嵌入式系統(tǒng)安全協(xié)議開發(fā),用戶可采用此部分的函數(shù)對明文數(shù)據(jù)進(jìn)行預(yù)先軟件加密變換,更加增強(qiáng)系統(tǒng)的安全性能。


        7.4.1. 初始化流加密密鑰:


        u8_x Lib_InitStreamKey(u8_x *buf, u8_x *seed, u8_x slen);

        功能描述:初始化流加密密鑰

        參數(shù):??? buf?? 輸入16個(gè)字節(jié)的密鑰

        ????????? seed? 輸入的隨機(jī)種子

        ????????? slen? seed的字節(jié)長度,最大為32個(gè)字節(jié)

        返回值:? 執(zhí)行成功返回0,否則返回錯(cuò)誤代碼


        7.4.2. 流加密:


        u8_x Lib_StreamEncryption(u8_x *din, u8_x *dout, u16_x len);

        參數(shù):??? din??? 輸入明文數(shù)據(jù)

        ????????? dout?? 輸出密文數(shù)據(jù)

        ????????? len??? 計(jì)算數(shù)據(jù)的長度

        返回值: ?計(jì)算成功返回

        【返回列表】
        OSahQyTW58rLprhzuqR6zmqB9B021S0kSCTwZYQ725gjwcYTlxWs0uOA+dAPrl3jO1Atzf61lsaFBEjrIahYwkaV5OcyaFOgzrcMkfWO4lDsWU1/DAX2JofA1uF59b70sp1J0WQh02UEfsTyBAOYWfAwwb5k2DgYb/L9PyyKeggm//r6g+lVPc1Zd32pRx3O1S/JaK519+haXNG2iBJbIFZfKjr1tAmQio53/Z/PsVkRVrHq6nJcDqVbCbtWRBDE
        <sub id="rfsed"></sub>
      1. <s id="rfsed"></s>
          <sub id="rfsed"><dl id="rfsed"></dl></sub>
          <small id="rfsed"></small>

            AV在线观看黄| www.jiujiujiu| 91视频久久| 亚洲男人av| 浮力影院久久| 西西444www| 91丨露脸丨熟女抽搐| 99精品国产一区二区| 免费AV在线| 日韩黄片免费看| 激情婷婷六月| 蜜臀AⅤ在线| 日本黄网站| av网站在线免费观看| 欧美激情久久久| 黄色视频网站日本| 青娱乐自拍视频| 久草免费电影| 尤物yw| 国产熟女一区二区三区五月婷| 成人日韩欧美| 粉嫩99精品99久久久久| 国产精品午夜在线观看| 亚洲91在线| 中文字幕五月久久| 人人操人人模| 91精品国产乱码久久| 2025最新国产精品每日更新| 日韩三级小说| 中文字幕av一区二区| 黄av在线| 亚洲精品另类| 亚欧无码| 人人人人人操| 无码人妻精品一区| 高清无码不卡视频| 人人干人人操人人爽| 毛片在线免费| 国产免费一区二区三区免费视频 | 超碰93| WWW.亚洲无码| 日韩va亚洲va欧美va高清| 波多野结衣成人视频| 狼友在线观看| 免费看毛片网站| 嫩BBB槡BBBB槡BBBB二一| av操逼网| 精品91美女| 中文字幕在线免费视频| 内射91| 日本AAAA片| 一区免费在线观看| 成人在线伊人| 鸭子AV| 国产激情AV| 人妻熟妇乱子伦精品无码专区毛片| 少妇无码在线| 亚洲无码乱码精品| 亚洲伦理一区二区| 成人精品| 麻豆av在线| 国产精品A片守望| 欧美a片在线观看| 色噜噜人妻av中文字幕| 91人人妻人人澡人人爽人人精品 | 人人操人人操人人操人人操| 欧美日韩国产成人在线观看| 三洞齐开Av在线免费观看| 久久久亚洲无码| 97国产超碰| 亚洲精品资源在线| 黄色午夜| 99视频在线精品| 黄色视频日本免费| 中文字幕www一区| 中文字幕中文字幕一区| 黄色视频| 日韩AV在线免费观看| 加勒比色综合| 中文字幕在线观看网址最新地址| 人操人人人操| 美女久草| 亚洲不卡视频| 久久久影院| 日韩午夜精品| 超碰人人操人人爱| 色色五月天婷婷| 亚洲国产精品久久| 99热这里只有精品1| 国产丝袜人妖TS系列| 伊人免费在线| 人妻AV一区| 福利视频在线| 中文字幕无码一区二区三区一本久| 欧美18禁| 色综合网址| 99精品偷自拍| 久久理论电影| 色天堂色天使| 夜夜骚| 操你啦青青草| 殴美色色网| 丁香婷婷色五月激情综合三级三级片欧美日韩国 | 黄片免费网站| 欧美肏屄视频| 国产区在线观看| 夜夜操天天干| 日韩一区二区三区在线| 天天日天天操天天干| 婷婷性爱| 亚洲欧美在线播放| 亚洲av男人天堂| 插插插菊花综合网| 密臀久久| 超碰伊人大香蕉| 人成免费在线视频| 三级无码在线观看| 九色|PORNY|国产|成人|| 亚洲成人网站免费观看| 亚洲日韩黄色| 欧美第一视频| 另类老妇奶性生BBwBB| www.99| 黄色激情五月天| 欧美性国产| 最新中文字幕视频| 福利黄色片:片| 影音先锋女人资源| 日韩AV网站在线观看| 国产白嫩精品久久久久久| 国产三级性爱视频| 91人妻人人人| 天天色天天干天天| 丰满人妻一区二区三区精品高清| 蜜柚Av| 熟女人妻一区二区三区免费看| 亚洲无码你懂的| 国产一区二区免费在线观看| 妹子色综合| 一级黄色片免费观看| 一级黄色生活片| 特黄特色大片BBBB| 久久午夜一级A片| 亚洲性爱一级片| av无码观看| 内射少妇18| 国内无码| 无码乱伦| 美女av免费| 親子亂子倫XXXX| 久久久久久久香蕉视频| 水蜜桃视频网站在线观看| 大鸡吧草逼| 日韩高清成人无码| 无码内射在线播放| 亚洲欧美在线免费观看| 啪啪啪免费| 黑人大香蕉| 亚洲专区免费| 在线观看黄片| 中文字幕无码毛片| 韩国成人免费无码免费视频| 日本国产在线视频| 国内不卡一卡二视频| 国产a精品| 久久熟女嫩草成人片免费| jk在线观看| 免费做爱网站| 成人国产精品| 亚洲成人A片| 韩国高清无码60.70.80| 成人免费福利| 日韩一级免费观看| 久久天天拍| 亚洲a片在线观看| 91人人草| 欧美日韩操逼视频| 黄色成人在线| 德美日三级片在线观看| 91迷奸|