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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? encode.h

?? IBE是一種非對(duì)稱密碼技術(shù)
?? H
字號(hào):
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */

#include "vibecrypto.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "algobj.h"

#ifndef _ENCODE_H
#define _ENCODE_H

#ifdef __cplusplus
extern "C" {
#endif

/* If the class is ENCODE, this is the classCtx (the data struct and
 * the types that are the fields).
 */

/* How big does the output buffer need to be to handle the input?
 * <p>The caller supplies the number of new bytes to process (this does
 * not include any bytes in the unprocessedData buffer). This function
 * will determine the size needed based on the size of the input, the
 * number of bytes in the unprocessedData buffer, whether encoding or
 * decoding and whether Update or Final.
 * <p>The caller must supply one of the following flags to indicate
 * whether the operation will be encrypt or decrypt and Update or Final.
 *
 *    VOLT_CALLER_ENCODE_UPDATE
 *    VOLT_CALLER_ENCODE_FINAL
 *    VOLT_CALLER_DECODE_UPDATE
 *    VOLT_CALLER_DECODE_FINAL
 *
 * <p>The implementation of this typedef must also determine if the
 * input length is valid. For Final calls, the input length given may
 * be invalid depending on padding.
 * <p>The caller also supplies the new input bytes in case the
 * implementation wants to examine them. Most algorithms will ignore
 * them, but for some, the input may need to be of a particular format.
 *
 * @param obj The algorithm object.
 * @param input The new input to process.
 * @param inputLen The length of new input to be processed.
 * @param outputSize The address where the implementation will go to
 * deposit the size required.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VGetEncodeOutputSize) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj,
   unsigned int callFlag,
   unsigned char *input,
   unsigned int inputLen,
   unsigned int *outputSize,
   VtRandomObject random
));

#define VOLT_CALLER_ENCODE_UPDATE  1
#define VOLT_CALLER_ENCODE_FINAL   2
#define VOLT_CALLER_DECODE_UPDATE  3
#define VOLT_CALLER_DECODE_FINAL   4

/* The Init function simply sets the initial state.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct.
 *
 * @param obj The algorithm object containing the context to set.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VEncodeInit) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj
));

/* Encode the given data. This function assumes the output buffer is
 * big enough (determined by calling GetEncodeOutputSize).
 * <p>The input might be one block, it might be several. But the caller
 * must pass in a multiple of the block size.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct.
 *
 * @param obj The algorithm object containing the context to update.
 * @param random An algorithm object set and seeded to generate random
 * bytes if needed.
 * @param dataToEncode The data to encode.
 * @param dataToEncodeLen The length, in bytes, of the input.
 * @param encoding The buffer into which the function will place the
 * encoded result.
 * @param encodingLen The address where the function will deposit the
 * number of bytes placed into the output buffer.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VEncodeUpdate) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj,
   VtRandomObject random,
   unsigned char *dataToEncode,
   unsigned int dataToEncodeLen,
   unsigned char *encoding,
   unsigned int *encodingLen
));

/* No more data, take care of any padding.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct. For
 * example, the output buff must be big enough.
 *
 * @param obj The algorithm object containing the context.
 * @param random An algorithm object set and seeded to generate random
 * bytes if needed.
 * @param encoding The buffer into which the resulting encoded data
 * will be placed.
 * @param encodingLen The address where the function will deposit the
 * number of bytes placed into the output buffer.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VEncodeFinal) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj,
   VtRandomObject random,
   unsigned char *encoding,
   unsigned int *encodingLen
));

/* The Init function simply sets the initial state.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct.
 *
 * @param obj The algorithm object containing the context to set.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VDecodeInit) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj
));

/* Decode the data in the unprocessedData buffer. This function assumes
 * the output buffer is big enough (determined by calling
 * GetEncodeOutputSize).
 * <p>The input might be one block, it might be several. But the caller
 * must pass in a multiple of the block size.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct.
 *
 * @param obj The algorithm object containing the context to update.
 * @param random An algorithm object set and seeded to generate random
 * bytes if needed.
 * @param dataToDecode The data to decode.
 * @param dataToDecodeLen The length, in bytes, of the input.
 * @param decoding The buffer into which the function will place the
 * decoded result.
 * @param decodingLen The address where the function will deposit the
 * number of bytes placed into the output buffer.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VDecodeUpdate) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj,
   VtRandomObject random,
   unsigned char *dataToDecode,
   unsigned int dataToDecodeLen,
   unsigned char *decoding,
   unsigned int *decodingLen
));

/* No more data, take care of any padding.
 * <p> This function will do no argument checking, it is the
 * responsibility of the caller to make sure the input is correct. For
 * example, the output buff must be big enough.
 *
 * @param obj The algorithm object containing the context.
 * @param random An algorithm object set and seeded to generate random
 * bytes if needed.
 * @param decoding The buffer into which the resulting encoded data
 * will be placed.
 * @param decodingLen The address where the function will deposit the
 * number of bytes placed into the output buffer.
 * @return an int, 0 if the function completed successfully or a
 * non-zero error code.
 */
typedef int VOLT_CALLING_CONV (*VDecodeFinal) VOLT_PROTO_LIST ((
   VoltAlgorithmObject *obj,
   VtRandomObject random,
   unsigned char *decoding,
   unsigned int *decodingLen
));

typedef struct
{
  VGetEncodeOutputSize GetEncodeOutputSize;
  VEncodeInit EncodeInit;
  VEncodeUpdate EncodeUpdate;
  VEncodeFinal EncodeFinal;
  VDecodeInit DecodeInit;
  VDecodeUpdate DecodeUpdate;
  VDecodeFinal DecodeFinal;
  unsigned char *unprocessedData;
  unsigned int unprocessedDataLen;
  unsigned int plainBlockSize;
  unsigned int codedBlockSize;
  Pointer localEncodeCtx;
  VCtxDestroy LocalEncodeCtxDestroy;
} VoltEncodeClassCtx;

#ifdef __cplusplus
}
#endif

#endif /* _ENCODE_H */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀a∨国产成人精品| 99久久精品久久久久久清纯| 国产精品一区二区在线观看网站 | 日韩欧美一区二区在线视频| 国产婷婷一区二区| 午夜精品免费在线观看| 成人a免费在线看| 精品国产乱码久久久久久老虎 | 欧美激情一区二区三区四区| 三级一区在线视频先锋| 日本韩国欧美三级| 久久久精品人体av艺术| 日本不卡免费在线视频| 在线影院国内精品| 国产精品久久久久久福利一牛影视| 奇米777欧美一区二区| 欧美性猛交xxxxxx富婆| 亚洲欧洲www| 成人ar影院免费观看视频| 精品国产制服丝袜高跟| 日韩av一级片| 欧美日韩精品欧美日韩精品| 亚洲亚洲精品在线观看| 91福利国产精品| 亚洲裸体xxx| 色综合色综合色综合| 日韩美女视频一区二区 | 91亚洲大成网污www| 国产亚洲综合在线| 国产资源在线一区| 日韩精品中文字幕在线不卡尤物| 三级久久三级久久久| 欧美日韩中文一区| 亚洲成人一区二区在线观看| 欧美性生活一区| 亚洲电影欧美电影有声小说| 欧美日韩在线观看一区二区 | 蜜桃av噜噜一区| 日韩欧美一区二区免费| 精品一区二区三区久久| 精品日产卡一卡二卡麻豆| 精品一区二区三区视频| 久久久蜜桃精品| 国产成人精品亚洲日本在线桃色| 国产亚洲一区二区三区| 国产成人精品1024| 国产精品成人免费精品自在线观看| 成人网男人的天堂| 亚洲精品中文在线| 欧美精品123区| 久久成人免费日本黄色| 中文子幕无线码一区tr| 色婷婷亚洲一区二区三区| 亚洲制服丝袜av| 欧美一区二区三级| 成人一区二区三区视频在线观看| 中文字幕一区不卡| 欧美精品123区| 国产九色sp调教91| 亚洲一区二区精品久久av| 欧美一区二区三区在线电影| 国产麻豆视频一区二区| 亚洲免费色视频| 欧美一区二区高清| 不卡av电影在线播放| 午夜视频一区在线观看| 久久久五月婷婷| 欧美在线综合视频| 国产精品伊人色| 亚洲一二三区视频在线观看| 久久久亚洲精品一区二区三区| 91精品1区2区| 国产一区二区三区观看| 一区二区三区在线免费视频| 精品999在线播放| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲国产精品成人综合| 欧美另类一区二区三区| 成人在线一区二区三区| 日韩精品国产精品| 亚洲色图欧美在线| 久久久美女毛片| 在线综合亚洲欧美在线视频| 色哟哟在线观看一区二区三区| 麻豆一区二区在线| 亚洲综合视频在线| 国产精品青草久久| 精品国产区一区| 欧美日韩在线一区二区| k8久久久一区二区三区| 久久精品av麻豆的观看方式| 亚洲一区二区不卡免费| 中文乱码免费一区二区| 欧美videos中文字幕| 欧美日本一区二区| 在线亚洲一区观看| 欧美三电影在线| 免费在线看一区| 午夜精品福利一区二区蜜股av | 久久不见久久见中文字幕免费| 伊人婷婷欧美激情| 成人欧美一区二区三区1314 | 日韩欧美亚洲一区二区| 欧美三级一区二区| 在线日韩国产精品| 96av麻豆蜜桃一区二区| thepron国产精品| 成人精品视频一区二区三区尤物| 美女一区二区三区在线观看| 亚洲国产精品久久不卡毛片| 一区二区三区在线免费视频| 亚洲欧美在线视频观看| 亚洲欧美在线观看| 亚洲婷婷综合久久一本伊一区| 亚洲国产精品传媒在线观看| 国产亚洲一区二区三区| 日本一区二区视频在线观看| 久久精品一区二区三区av| 国产亚洲精品资源在线26u| 久久看人人爽人人| 国产精品美女久久福利网站| 国产精品亲子乱子伦xxxx裸| 国产精品青草综合久久久久99| 国产精品美女久久久久av爽李琼 | 日韩三级视频在线观看| 欧美一区二区大片| 久久亚洲二区三区| 国产精品超碰97尤物18| 亚洲精品国产一区二区三区四区在线| 亚洲人成小说网站色在线| 一区二区三区四区激情| 亚洲成人免费在线| 久久av中文字幕片| 粉嫩高潮美女一区二区三区| 成人av高清在线| 日本精品一级二级| 日韩视频免费观看高清完整版在线观看 | 日韩欧美成人激情| 国产婷婷色一区二区三区| 亚洲免费观看高清| 天堂成人国产精品一区| 国产在线播放一区| 99国产精品久| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲午夜一区二区| 美女在线视频一区| 99九九99九九九视频精品| 欧美午夜精品一区二区蜜桃| 日韩视频免费直播| 亚洲免费视频成人| 精品在线免费视频| 91在线免费视频观看| 在线成人午夜影院| 国产精品污www在线观看| 亚洲一区二区视频在线观看| 激情综合色综合久久| 色域天天综合网| www激情久久| 香蕉久久夜色精品国产使用方法| 国产麻豆精品在线| 欧美三级乱人伦电影| 亚洲国产精品成人综合色在线婷婷| 亚洲成人在线免费| 成人精品视频一区二区三区| 91麻豆精品国产91久久久使用方法 | 久久精品国产999大香线蕉| 色综合婷婷久久| 久久综合狠狠综合久久激情| 亚洲国产欧美一区二区三区丁香婷| 国产一区二区三区免费观看| 欧美日韩国产天堂| 亚洲精选在线视频| 国产不卡视频一区二区三区| 日韩视频永久免费| 午夜伊人狠狠久久| 在线日韩一区二区| 亚洲人快播电影网| 国产激情91久久精品导航| 欧美一级二级三级乱码| 午夜欧美一区二区三区在线播放| 成人av在线电影| 久久精子c满五个校花| 精品一区二区在线看| 欧美欧美欧美欧美首页| 一区二区三区久久| 91九色最新地址| 有坂深雪av一区二区精品| 粉嫩13p一区二区三区| 精品国产乱码久久久久久图片| 日本不卡1234视频| 欧美人动与zoxxxx乱| 亚洲国产一区二区三区| 色av一区二区| 亚洲精品成a人| 色婷婷精品久久二区二区蜜臀av| 国产日韩精品一区| 国产成人福利片| 国产女同互慰高潮91漫画| 国产精品456| 国产精品免费网站在线观看|