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

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

?? cdma f8f9 speed testdlg.cpp

?? 移動通信中f8f9兩種機密算法與完整性算法的運行速率測試程序VC++實現
?? CPP
字號:
// CDMA f8f9 speed testDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CDMA f8f9 speed test.h"
#include "CDMA f8f9 speed testDlg.h"

#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>

extern void Kasumi(char*,const char*);
extern int hextoint(char x);
extern char inttohex(int x);

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCDMAf8f9speedtestDlg dialog

CCDMAf8f9speedtestDlg::CCDMAf8f9speedtestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCDMAf8f9speedtestDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCDMAf8f9speedtestDlg)
	m_f8_data_quantity = _T("");
	m_f8_time = _T("");
	m_f9_data_quantity = _T("");
	m_f9_time = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CCDMAf8f9speedtestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCDMAf8f9speedtestDlg)
	DDX_Control(pDX, IDC_F9_PROGRESS, m_f9_prog);
	DDX_Control(pDX, IDC_F8_PROGRESS, m_f8_prog);
	DDX_Text(pDX, IDC_F8_DATA_QUANTITY, m_f8_data_quantity);
	DDX_Text(pDX, IDC_F8_TIME, m_f8_time);
	DDX_Text(pDX, IDC_F9_DATA_QUANTITY, m_f9_data_quantity);
	DDX_Text(pDX, IDC_F9_TIME, m_f9_time);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CCDMAf8f9speedtestDlg, CDialog)
	//{{AFX_MSG_MAP(CCDMAf8f9speedtestDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_EN_CHANGE(IDC_F8_DATA_QUANTITY, OnChangeF8DataQuantity)
	ON_EN_CHANGE(IDC_F9_DATA_QUANTITY, OnChangeF9DataQuantity)
	ON_BN_CLICKED(IDC_F8_TEST, OnF8Test)
	ON_BN_CLICKED(IDC_F9_TEST, OnF9Test)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCDMAf8f9speedtestDlg message handlers

BOOL CCDMAf8f9speedtestDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CCDMAf8f9speedtestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CCDMAf8f9speedtestDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CCDMAf8f9speedtestDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}


// f8數據量
void CCDMAf8f9speedtestDlg::OnChangeF8DataQuantity() 
{
	UpdateData(TRUE);
	m_f8_prog.SetPos(0);
	m_f8_time="";
	UpdateData(FALSE);	
}


// f9數據量
void CCDMAf8f9speedtestDlg::OnChangeF9DataQuantity() 
{
	UpdateData(TRUE);
	m_f9_prog.SetPos(0);
	m_f9_time="";
	UpdateData(FALSE);		
}

// 用f8處理設定的數據量
void CCDMAf8f9speedtestDlg::OnF8Test() 
{
	UpdateData(TRUE);
	m_f8_time = "";
	UpdateData(FALSE);
	RedrawWindow();

	CTime time1, time2;

	time1 = time1.GetCurrentTime();

	int i,k;
	int n=0;
	for(i=0;i<m_f8_data_quantity.GetLength();i++)
		n += hextoint(m_f8_data_quantity[i]) * (int)pow((double)10,(double)m_f8_data_quantity.GetLength()-1-i);
	
	// 進度條的設置點不能超過65535
	if(n>199)
	{	
		MessageBox("請輸入0~199之間的數據!", "參數輸入錯誤", MB_OK | MB_ICONERROR);
		return ;
	}
	n=n*1024*1024/3200;

	m_f8_prog.SetPos(0);
	m_f8_prog.SetRange(0, n);
	m_f8_prog.SetStep(1);
	
	// 用f8處理數據
	for (k=0;k<n;k++)
	{
		//3200bit的數據量為一個標注點

		char temp[33];
		//常數km,128bit
		char m_ck[]="00000000000000000000000000000000";
		char km_128bit[]="0123456789ABCDEF0123456789ABCDEF";
		//初始化A
		char A[]="0000000000000000";

		for (i=0;i<32;i++)
			temp[i]=inttohex(hextoint(m_ck[i])^hextoint(km_128bit[i]));
		temp[32] = '\0';

		int length = 3200;
		char p[]="0000000000320000";
		char q[]="00000000000000000000000000000000";

		Kasumi(p,temp);

		int blocks;
		if (length%64==0)
			blocks=length/64;
		else	blocks=length/64+1;
		char *ks;
		ks = new char[16*blocks];
		for(i=0;i<16;i++)
			ks[i]='0';

		for(i=0;i<blocks;i++)
		{	
			int j;
			for (j=0;j<16;j++)
				A[j]=p[j];
	
			A[14]=inttohex(hextoint(A[14])^(i>>4));
			A[15]=inttohex(hextoint(A[15])^(i&15));

			if(i!=0)
			for(j=0;j<16;j++)
				A[j]=inttohex( hextoint(A[j]) ^ hextoint(ks[j+(i-1)*16]) );	

			Kasumi(A,q);

			for(j=0;j<16;j++)
				ks[j+i*16]=A[j];

		}

		int num;
		if (length%4!=0)
		{
			num=(int)floor(length/4);
			int left_over=length%4;
			ks[num]=inttohex( hextoint(ks[num]) >> (4-left_over) );
		}
		else
			num=(int)floor(length/4)-1;

		char *ks_display;
		ks_display = new char[num+1];
		for(i=0;i<num+1;i++)
			ks_display[i]=ks[i];
		ks_display[i]='\0';
		delete []ks;
		m_f8_prog.StepIt();
	}

	time2 = time2.GetCurrentTime();
	CTimeSpan times = time2 - time1;
	m_f8_time.Format("%02d:%02d:%02d", times.GetHours(), times.GetMinutes(), times.GetSeconds());

	UpdateData(FALSE);	
}


// 用f9處理設定的數據量
void CCDMAf8f9speedtestDlg::OnF9Test() 
{
	UpdateData(TRUE);
	m_f9_time="";
	UpdateData(FALSE);
	RedrawWindow();

	CTime time1, time2;

	time1 = time1.GetCurrentTime();
	
	int i,k;
	int n=0;
	for(i=0;i<m_f9_data_quantity.GetLength();i++)
		n += hextoint(m_f9_data_quantity[i]) * (int)pow((double)10,(double)m_f9_data_quantity.GetLength()-1-i);
	if(n>199)
	{	
		MessageBox("請輸入0~199之間的數據!", "參數輸入錯誤", MB_OK | MB_ICONERROR);
		return ;
	}
	n=n*1024*1024/3200;
	m_f9_prog.SetPos(0);
	m_f9_prog.SetRange(0, n);
	m_f9_prog.SetStep(1);

	// 用f9處理數據
	for (k=0;k<n;k++)
	{
		char m_hex_f9_indata[832];
		for(i=0;i<832;i++)
			m_hex_f9_indata[i]='0';
		char m_ik[]="00000000000000000000000000000000";
		char km_128bit[]="ABCDEF01234567890123456789ABCDEF";

		int blocks;
		blocks = int(ceil((double)832/16));
		char A[]="0000000000000000";
		char B[]="0000000000000000";
		int j;

		for (j=0;j<blocks;j++)
		{
			for (i=0;i<16;i++)
				A[i]=inttohex(hextoint(m_hex_f9_indata[i+j*16])^hextoint(A[i]));
	
			Kasumi(A,m_ik);

			for (i=0;i<16;i++)
				B[i]=inttohex(hextoint(B[i])^hextoint(A[i]));
		}

		char temp[32];
		for (i=0;i<32;i++)
			temp[i]=inttohex(hextoint(m_ik[i])^hextoint(km_128bit[i]));

		Kasumi(B,temp);

		m_f9_prog.StepIt();	
	}

	time2 = time2.GetCurrentTime();
	CTimeSpan times = time2 - time1;
	m_f9_time.Format("%02d:%02d:%02d", times.GetHours(), times.GetMinutes(), times.GetSeconds());

	UpdateData(FALSE);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
肉色丝袜一区二区| 亚洲一区欧美一区| 91精品国产一区二区三区| 在线视频综合导航| 色先锋久久av资源部| 欧美影院一区二区三区| 欧美性感一区二区三区| 欧美久久免费观看| 亚洲精品一区在线观看| 国产色婷婷亚洲99精品小说| 国产精品久久精品日日| 成人欧美一区二区三区| 亚洲成av人片一区二区梦乃| 免费成人结看片| 国产91精品在线观看| av激情综合网| 欧美精品一卡两卡| 欧美成人精品二区三区99精品| 精品国产伦一区二区三区观看方式| 久久久亚洲国产美女国产盗摄| 亚洲欧洲性图库| 天天综合色天天综合色h| 久久99精品国产91久久来源| 国产精品1区二区.| 欧美日韩成人在线一区| 久久蜜臀精品av| 一区二区三区欧美久久| 六月丁香综合在线视频| 91小视频免费观看| 91精品国产91久久久久久一区二区| 欧美精品一区视频| 一区二区三区国产精华| 激情综合网天天干| 91国产精品成人| 久久久美女毛片| 日日摸夜夜添夜夜添国产精品| 久久99精品国产麻豆不卡| 色欧美片视频在线观看在线视频| 欧美一区二区久久| 国产精品久久久久影院亚瑟| 免费在线观看精品| 在线观看精品一区| 国产农村妇女毛片精品久久麻豆| 亚洲成人动漫av| av亚洲产国偷v产偷v自拍| 制服丝袜国产精品| 亚洲女与黑人做爰| 狠狠色丁香久久婷婷综合丁香| 色悠悠亚洲一区二区| 国产欧美日韩久久| 免费国产亚洲视频| 日本大香伊一区二区三区| 久久九九99视频| 久久精品国产成人一区二区三区 | 亚洲女爱视频在线| 欧美日韩另类一区| 免费成人在线观看| 不卡的电影网站| 日韩视频永久免费| 亚洲精品视频观看| 成人久久视频在线观看| 精品国产免费人成电影在线观看四季| 最新日韩av在线| 成人免费电影视频| 国产偷v国产偷v亚洲高清| 午夜私人影院久久久久| 在线观看国产日韩| 亚洲一区二区三区自拍| 99热99精品| 国产精品天美传媒| 国产一区在线视频| 精品国产1区二区| 美女一区二区视频| 亚洲精品一区二区三区蜜桃下载 | 亚洲精品国产a| 不卡av电影在线播放| 久久久久国产免费免费| 久久99久久精品| 精品蜜桃在线看| 麻豆精品视频在线| 欧美电影精品一区二区| 日韩av午夜在线观看| 欧美一区午夜精品| 精品在线免费观看| 欧美成人在线直播| 国产成人免费视频一区| 亚洲国产成人在线| 国产jizzjizz一区二区| 国产欧美日韩精品在线| 色婷婷综合久久久中文一区二区| 亚洲色图制服丝袜| 色吊一区二区三区| 午夜精品福利视频网站| 精品99久久久久久| 99re这里只有精品首页| 亚洲mv大片欧洲mv大片精品| 666欧美在线视频| 国产乱一区二区| 亚洲欧洲无码一区二区三区| 欧美日韩日本视频| 国产精品伊人色| 国产精品初高中害羞小美女文| 欧美视频一区二区三区在线观看| 久久精品噜噜噜成人88aⅴ| 日本一区二区久久| 欧美日韩在线不卡| 国产精品888| 石原莉奈在线亚洲二区| 欧美激情在线观看视频免费| 欧美三级蜜桃2在线观看| 精品一区二区三区欧美| 一二三四社区欧美黄| 精品福利av导航| 欧美性猛交一区二区三区精品| 国产一区二区三区久久悠悠色av| 亚洲人成网站精品片在线观看| 精品日韩成人av| 欧美另类一区二区三区| 国产成人免费在线| 日本欧美加勒比视频| 国产精品久久久久久久浪潮网站 | 艳妇臀荡乳欲伦亚洲一区| 欧美一区三区二区| 欧美精品久久久久久久久老牛影院 | 成人精品国产免费网站| 日韩中文字幕1| 亚洲免费毛片网站| 久久久91精品国产一区二区精品| 欧美日韩精品一区二区| 99久久国产免费看| 国产一区二区三区在线观看精品| 亚洲电影一区二区三区| 人禽交欧美网站| 亚洲国产精品麻豆| 一区2区3区在线看| 亚洲精品国产视频| 亚洲丝袜另类动漫二区| 国产欧美精品一区| 久久蜜桃av一区二区天堂| 欧美一区二区福利在线| 这里只有精品免费| 欧美日韩一本到| 欧美私人免费视频| 欧美日韩一区中文字幕| 欧美亚洲动漫精品| 欧美日韩精品二区第二页| 91精彩视频在线观看| 色综合久久88色综合天天| 国产xxx精品视频大全| 成人爽a毛片一区二区免费| 国产精品原创巨作av| 国产一区二区三区不卡在线观看| 老司机免费视频一区二区| 日韩av电影天堂| 另类小说色综合网站| 美女精品一区二区| 狠狠色丁香婷婷综合| 粉嫩av一区二区三区| 不卡视频在线观看| 91麻豆免费看片| 欧美性猛片aaaaaaa做受| 欧美精品久久久久久久多人混战| 欧美午夜一区二区| 欧美一区二区三区在线观看视频 | 91久久线看在观草草青青| 一本色道久久加勒比精品 | 国产精品不卡在线观看| √…a在线天堂一区| 亚洲永久精品大片| 蜜臀精品久久久久久蜜臀| 国内外成人在线视频| 岛国精品一区二区| 欧洲精品中文字幕| 欧美一区二区三区白人| 国产欧美一区二区三区在线看蜜臀| 日韩毛片一二三区| 日韩黄色免费电影| 国产成人精品免费一区二区| 91偷拍与自偷拍精品| 欧美一区二区三区小说| 国产亚洲精品aa午夜观看| 一区二区三区精品视频| 捆绑紧缚一区二区三区视频| 国产91富婆露脸刺激对白| 欧美影院一区二区| xnxx国产精品| 亚洲综合丝袜美腿| 国产最新精品免费| 欧美日韩精品二区第二页| 国产嫩草影院久久久久| 日韩精品欧美精品| 91免费版在线| 精品国产区一区| 亚洲超碰精品一区二区| 国产成人啪午夜精品网站男同| 91精品国产综合久久久久久漫画| 国产精品丝袜久久久久久app| 日本中文在线一区| 色欲综合视频天天天| 久久久精品影视|