CN113033915A - 一种拼车用户端与司机端最短距离的比较方法及装置 - Google Patents
一种拼车用户端与司机端最短距离的比较方法及装置 Download PDFInfo
- Publication number
- CN113033915A CN113033915A CN202110412652.6A CN202110412652A CN113033915A CN 113033915 A CN113033915 A CN 113033915A CN 202110412652 A CN202110412652 A CN 202110412652A CN 113033915 A CN113033915 A CN 113033915A
- Authority
- CN
- China
- Prior art keywords
- server
- driver
- encrypted
- distance
- dist
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种拼车用户端与司机端最短距离的比较方法,包括:调度服务器获取距离相近的至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域;调度服务器根据质心所属区域,通知距离质心预设范围内的候选司机端上传司机加密位置信息;调度服务器分别计算司机加密位置信息和用户加密位置的质心的距离,加密后发送给代理服务器;代理服务器按照预设的方法进行解密及加密操作后发送给调度服务器;代理服务器和调度服务器协作计算,确定出候选司机中与所述用户加密位置的质心距离最近的司机,本发明还提出相应的装置及存储介质。本发明能够解决目前计算和通信效率低的问题。
Description
技术领域
本发明涉及道路距离规划技术领域,尤其涉及一种拼车用户端与司机端最短距离的比较方法、装置及存储介质。
背景技术
在打车平台的道路网络系统中,如何高效快速地找到距离与拼车用户距离最近的司机对于节约乘客和司机的时间成本意义非凡,目前的打车平台中这一功能已经相当完善,但是当今人们对于用户隐私的保护的呼声逐渐提高,很多国家已经开始重视用户个人因素保护和大数据信息安全,这已经是上升到法律和技术层面的大事。最短道路距离计算也是路网计算中最基本的算法,具有广泛的应用。有许多有效的最短路径(距离)的算法,如弗洛伊德算法和Dijkstra算法等。
某种程度上同态加密(SHE)可以支持有限数量的密文加法和乘法。FV方案是一种流行的SHE方案,它依赖于一个被称为带误差环学习(RLWE)问题的硬计算问题,支持有限次数的全同态加密计算。
当前提出的基于SHE以及FV方案的道路距离计算方案在计算距离时是通过按位加密的方式进行比较和计算,运算的效率大打折扣,无法适应实际使用时大流量多并发的服务计算需求。
发明内容
基于上述存在的问题,本发明使用了一种拼车用户端与司机端最短距离的比较方法、装置及存储介质,用以解决现有的计算时间复杂度高的问题。
一方面,本发明提出了一种拼车用户端与司机端最短距离的比较方法,包括:
调度服务器获取距离相近的至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域;
调度服务器据质心所属区域通知距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;
调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器;
调度服务器将所述随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器;
代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器;
代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机加密位置信息和所述用户加密位置的质心距离的较小值;
代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取找到最近距离的司机在原集合中的索引值Ind(rm),即为m个候选司机中与所述用户加密位置的质心距离最近的司机d*。
所述的方法中,所述调度服务器获取至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域,具体为:
每个拼车用户端分别计算其在道路网络中的区域Zui;
拼车用户端发送共享请求Rui=(lui,zui)至调度服务器;
所述的方法中,所述调度服务器根据质心所属区域通知预设距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器,具体为:
所述预设距离范围内的m个候选司机端为,位于区域Zu及与区域Zu相邻的区域内的司机端;
调度服务器通知所述预设距离范围内的m个候选司机端上传司机加密位置信息;
调度服务器将所有候选司机端的位置信息加密,得到集合D*;
调度服务器为每个候选司机端分配不同的随机置换索引j∈[0,m),并通知集合D*中所有候选司机端以加密形式上传司机加密位置信息;
调度服务器计算所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离,表示为:
调度服务器对所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离进行盲化处理,选择m个均匀分布的随机l-1位整数r=r0,r1,…,rm-1,m初始为|D*|,执行逆NTT运算并与同态加计算出盲密文,具体为:
调度服务器向代理服务器发送一个打包的密文dist′p。
所述的方法中,代理服务器解密后执行NTT运算求得多项式的系数得到盲化的距离dist′,将盲化的距离dist′两两做差得到一组差值(df0,…,dfm′-1),其中分别按位加密,并发送给调度服务器,包括:
代理服务器接收到打包的密文dist′p,用代理服务器和调度服务器提前约定好的私钥sk解密,并执行一个NTT运算以恢复成如下的多项式:
代理服务器获得盲化后的所有司机端的司机加密位置信息和用户加密位置信息的质心距离的集合dist′,即上述多项式的系数,具体如下,其中|D*|=m:
代理服务器对于dist′中的m个距离两两做差,得到距离差的集合(df0,df1,…,dfm′-1),具体如下:
df0=dist′0-dist′1
df1=dist′2-dist′3
……
dfm′-1=dist′2m′-2-dist′2m′-1
代理服务器将集合(df0,df1,…,dfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换和按位加密,其中i=1,2,…,l-1,具体如下:
代理服务器将{dfp[i]}0≤i<l发送给调度服务器。
所述的方法中,调度服务器将随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器,包括:
调度服务器将m个均匀分布的随机l-1位整数(r=r0,r1,…,rm-1)两两做差,得到集合(rf0,…,rfm′-1),具体如下:
(rf0,…,rfm′-1)=(r0-r1,…,r2m′-2-r2m′-1);
调度服务器将集合(rf0,…,rfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换,其中i=1,2,…,l-1,具体如下:
调度服务器将多项式xk累加后进行逆NTT变换,保存为op,具体如下:
当i=1,2,…,l-1,调度服务器分别按位比较dfp[i]和rfp[i]的大小,具体计算方法如下:
当i=l-1时,调度服务器对op和rfp[i]做差,将得到的差与dfp[i]进行同态乘,得到的结果即为ap[i],然后对op和dfp[i]进行同态减,将得到的差与rfp[i]进行同态乘,得到的结果即为bp[i],具体如下:
ap[i]=dfp[i])(op-rfp[i]);
bp[i]=rfp[i])(op'dfp[i]);
当i<l-1时,调度服务器同态加减和同态乘法获得ap[i]和bp[i],递归地得到ap[0]和bp[0],具体如下:
ap[i]=(op'bp[i+1]))(ap[i+1]((op'ap[i+1]))dfp[i])(op-rfp[i]));
bp[i]=(op'ap[i+1]))(bp[i+1]((op'bp[i+1]))rrfp[i])(op-dfp[i]));
调度服务器将包含比较结果密文的ap[0]发送给代理服务器。
所述的方法中,代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器,包括:
代理服务器使用私钥sk将ap[0]解密后进行NTT变换得到ak[0]xk的多项式,具体如下:
代理服务器将多项式的系数{ak[0]}0≤k<m′发送给调度服务器。
所述的方法中,代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机与乘客组质心距离的较小值,包括:
代理服务器和调度服务器共同计算,根据比较结果{ak[0]}0≤k<m′对distk′和rk重新赋值,将距离较小的值赋给前m′项,具体如下:
代理服务器和调度服务器共同计算,对于k=0,1,…,m′-1,如果ak[0]=1表明dist2k-1>dist2k-2,则令dist′k=dist′2k-2,ri=r2k-2,否则表明dist2k-1<dist2k-2,则令dist′k=dist′2k-1,ri=r2k-1;
所述的方法中,代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取司机端的索引值Ind(rm),即为m个候选司机端中与所述用户加密位置信息的质心距离最近的司机d*,包括:
代理服务器和调度服务器共同计算,重置m的值,如果m为奇数则m=m′-1否则令dist′m′-1=dist′m-1,rm′-1=rm-1,m=m′,重新计算{ak[0]}0≤k<m′,直至m=1,根据最终得到的rm-1即r0在原集合(r0,r1,…rm-1)中的索引Ind(rm-1),找到与所述用户加密位置的质心距离最近的司机d*。
另一方面,本发明还提出一种拼车用户端与司机端最短距离的比较装置,包括存储器及处理器;
所述存储器用于存储计算机程序;
所述处理器用于在执行所述存储器存储的计算机程序时,实现如上所述的方法。
再一方面,本发明提出一种存储介质,所述存储介质存储有实现如上所述的拼车用户端与司机端最短距离的比较方法的计算机程序,所述计算机程序被处理器执行,实现如上述所述的拼车用户端与司机端最短距离的比较方法的各步骤。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种拼车用户端与司机端最短距离的比较方法流程图;
图2为本发明实施例提供的一种拼车用户端与司机端最短距离的比较装置结构示意图。
具体实施方式
为了使本发明的目的,技术方案和优点更加清楚,下面结合附图,对本发明实施例提供的一种拼车用户端与司机端最短距离的比较方法、装置及存储介质的具体实施方式进行详细地说明。
一方面,本发明提出了一种拼车用户端与司机端最短距离的比较方法实施例,如图1所示,包括:
S101:调度服务器获取距离相近的至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域;
S102:调度服务器根据质心所属区域,通知距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;
S103:调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器;
S105:调度服务器将所述随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器;
S106:代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器;
S107:代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机加密位置信息和所述用户加密位置的质心距离的较小值;
S108:代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取找到最近距离的司机在原集合中的索引值Ind(rm),即为m个候选司机中与所述用户加密位置的质心距离最近的司机d*。
所述的方法中,所述调度服务器获取至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域,具体为:
每个拼车用户端分别计算其在道路网络中的区域Zui;
拼车用户端发送共享请求Rui=(lui,zui)至调度服务器;
所述的方法中,所述调度服务器根据质心所属区域通知预设距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器,具体为:
所述预设距离范围内的m个候选司机端为,位于区域Zu及与区域Zu相邻的区域内的司机端;
调度服务器通知所述预设距离范围内的m个候选司机端上传司机加密位置信息;
调度服务器将所有候选司机端的位置信息加密,得到集合D*;
调度服务器为每个候选司机端分配不同的随机置换索引j∈[0,m),并通知集合D*中所有候选司机端以加密形式上传司机加密位置信息;
调度服务器计算所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离,表示为:
调度服务器对所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离进行盲化处理,选择m个均匀分布的随机l-1位整数r=r0,r1,…,rm-1,m初始为|D*|,执行逆NTT运算并与同态加计算出盲密文,具体为:
调度服务器向代理服务器发送一个打包的密文dist′p。
所述的方法中,代理服务器解密后执行NTT运算求得多项式的系数得到盲化的距离dist′,将盲化的距离dist′两两做差得到一组差值(df0,…,dfm′-1),其中分别按位加密,并发送给调度服务器,包括:
代理服务器接收到打包的密文dist′p,用代理服务器和调度服务器提前约定好的私钥sk解密,并执行一个NTT运算以恢复成如下的多项式:
代理服务器获得盲化后的所有司机端的司机加密位置信息和用户加密位置信息的质心距离的集合dist′,即上述多项式的系数,具体如下,其中|D*|=m:
代理服务器对于dist′中的m个距离两两做差,得到距离差的集合(df0,df1,…,dfm′-1),具体如下:
df0=dist′0-dist′1
df1=dist′2-dist′3
……
dfm′-1=dist′2m′-2-dist′2m′-1
代理服务器将集合(df0,df1,…,dfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换和按位加密,其中i=1,2,…,l-1,具体如下:
代理服务器将{dfp[i]}0≤i<l发送给调度服务器。
所述的方法中,调度服务器将随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器,包括:
调度服务器将m个均匀分布的随机l-1位整数(r=r0,r1,…,rm-1)两两做差,得到集合(rf0,…,rfm′-1),具体如下:
(rf0,…,rfm′-1)=(r0-r1,…,r2m′-2-r2m′-1);
调度服务器将集合(rf0,…,rfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换,其中i=1,2,…,l-1,具体如下:
调度服务器将多项式xk累加后进行逆NTT变换,保存为op,具体如下:
本方案中应用了一种安全比较两个整数大小的方法,数据拥有者双方可以在不泄露各自信息的前提下合作计算比较两个l位整数x和y的大小,具体为,假设数据拥有者双方分别拥有两个l位整数x和y。将两个l位整数x和y分别分解成x[l-1]x[l-2]……x[0]和y[l-1]y[l-2]……y[0]的二进制表示;对于i-l-1,l-2,…0,一次计算a[i]和b[i],包括,如果i=l-1,则a[i]=x[i]*(1-y[i]),b[i]=y[i]*(1-x[i]);如果i<l-1,则a[i]=(1-b[i+1])*(a[i+1]+(1-a[i+1])*x[i]*(1-y[i])),b[i]=(1-a[i+1])*(b[i+1]+(1-b[i+1])*y[i]*(1-x[i]));若a[0]=1,则x大于y;若b[0]=1,则x小于y;
调度服务器使用以上的比较方法,当i=1,2,…,l-1,调度服务器分别按位比较dfp[i]和rfp[i]的大小,具体计算方法如下:
当i=l-1时,调度服务器对op和rfp[i]做差,将得到的差与dfp[i]进行同态乘,得到的结果即为ap[i],然后对op和dfp[i]进行同态减,将得到的差与rfp[i]进行同态乘,得到的结果即为bp[i],具体如下:
ap[i]=dfp[i])(op-rfp[i]);
bp[i]=rfp[i])(op'dfp[i]);
当i<l-1时,调度服务器同态加减和同态乘法获得ap[i]和bp[i],递归地得到ap[0]和bp[0],具体如下:
ap[i]=(op'bp[i+1]))(ap[i+1]((op'ap[i+1]))dfp[i])(op-rfp[i]));
bp[i]=(op'ap[i+1]))(bp[i+1]((op'bp[i+1]))rrfp[i])(op-dfp[i]));
调度服务器将包含比较结果密文的ap[0]发送给代理服务器。
所述的方法中,代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器,包括:
代理服务器使用私钥sk将ap[0]解密后进行NTT变换得到ak[0]xk的多项式,具体如下:
代理服务器将多项式的系数{ak[0]}0≤k<m′发送给调度服务器。
所述的方法中,代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机与乘客组质心距离的较小值,包括:
代理服务器和调度服务器共同计算,根据比较结果{ak[0]}0≤k<m′对distk′和rk重新赋值,将距离较小的值赋给前m′项,具体如下:
代理服务器和调度服务器共同计算,对于k=0,1,…,m′-1,如果ak[0]=1表明dist2k-1>dist2k-2,则令dist′k=dist′2k-2,ri=r2k-2,否则表明dist2k-1<dist2k-2,则令dist′k=dist′2k-1,ri=r2k-1;
所述的方法中,代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取司机端的索引值Ind(rm),即为m个候选司机端中与所述用户加密位置信息的质心距离最近的司机d*,包括:
代理服务器和调度服务器共同计算,重置m的值,如果m为奇数则m=m′-1,否则令dist′m′-1=dist′m-1,rm′-1=rm-1,m=m′,重新计算{ak[0]}0≤k<m′,直至m=1,根据最终得到的rm-1即r0在原集合(r0,r1,…rm-1)中的索引Ind(rm-1),找到与所述用户加密位置的质心距离最近的司机d*。
本发明提供另一种拼车用户端与司机端最短距离的比较方法实施例,包括:
调度服务器获取距离相近的至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域;
乘客计算其在道路网络中的区域Zui;
乘客发送共享请求Rui=(lui,zui)至调度服务器;
所述调度服务器根据质心所属区域通知预设距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器,
调度服务器根据质心所属区域,通知距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;
调度服务器将所有候选司机形成集合D*;
调度服务器为每个候选司机分配不同的随机置换索引j∈[0,m),并要求D*中所有候选司机以加密形式上传其当前位置;
调度服务器计算从乘客组位置质心到所有候选司机的加密欧几里得平方距离,表示为:
调度服务器向代理发送一个打包的密文dist′p;
代理接收到打包的密文dist′p,用私钥sk解密,并执行一个NTT运算以恢复成如下的多项式:
代理获得盲化后的所有司机和拼车乘客组质心距离的集合dist′,即上述多项式的系数,具体如下,其中|D*|=m:
代理对于dist′中的m个距离两两做差,得到距离差的集合(df0,df1,…,dfm′-1),具体如下:
代理将集合(df0,df1,…,dfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换和按位加密,其中i=1,2,…,l-1,具体如下:
代理将{dfp[i]}0≤i<l发送给调度服务器;
调度服务器将随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器:
调度服务器将随机选择的m位均匀分布的随机l-1位整数(r=r0,r1,…,rm-1)两两做差,得到集合(rf0,…,rfm′-1),具体如下:
(rf0,…,rfm′-1)=(r0-r1,…,r2m′-2-r2m′-1);
调度服务器代理将集合(rf0,…,rfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换,其中i=1,2,…,l-1,具体如下:
调度服务器将多项式xk累加后进行逆NTT变换,保存为op,具体如下:
调度服务器本发明中提出的一种安全私密地比较两个整数大小的方法,对于i=1,2,…,l-1,分别按位比较dfp[i]和rfp[i]的大小,具体计算方法如下:
当i=l-1时,调度服务器对op和rfp[i]做差,将得到的差与dfp[i]进行同态乘,得到的结果即为ap[i],然后对op和dfp[i]进行同态减,将得到的差与rfp[i]进行同态乘,得到的结果即为bp[i],具体如下:
ap[i]=dfp[i])(op-rfp[i]);
bp[i]=rfp[i])(op'dfp[i]);
当i<l-1时,调度服务器同样通过几次同态加减和同态乘法获得ap[i]和bp[i],递归地得到ap[0]和bp[0],具体如下:
ap[i]=(op'bp[i+1]))(ap[i+1]((op'ap[i+1]))dfp[i])(op-rfp[i]));
bp[i]=(op'ap[i+1]))(bp[i+1]((op'bp[i+1]))rrfp[i])(op-dfp[i]));
调度服务器将包含比较结果密文的ap[0]发送给代理;
代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器;
代理使用秘钥sk将ap[0]解密后进行NTT变换得到ak[0]xk的多项式,具体如下:
代理将多项式的系数{ak[0]}0≤k<m′发送给调度服务器;
代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机与乘客组质心距离的较小值:
代理和调度服务器共同计算,根据比较结果{ak[0]}0≤k<m′对distk′和rk重新赋值,将距离较小的值赋给前m′项,具体如下:
代理和调度服务器共同计算,对于k=0,1,…,m′-1,如果ak[0]=1表明dist2k-1>dist2k-2,则令dist′k=dist′2k-2,ri=r2k-2,否则表明dist2k-1<dist2k-2,则令dist′k=dist′2k-1,ri=r2k-1;
代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取司机端的索引值Ind(rm),即为m个候选司机端中与所述用户加密位置信息的质心距离最近的司机d*:
代理和调度服务器共同计算,重置m的值,如果m为奇数则m=m′-1,否则令dist′m′-1=dist′m-1,rm′-1=rm-1,m=m′,然后重复S203至S205的操作,直至m=1;
根据最终得到的rm-1即r0在原集合(r0,r1,…rm-1)中的索引Ind(rm-1),找到在道路网络中距离拼车乘客组质心最近的司机d*。
另一方面,本发明还提出一种拼车用户端与司机端最短距离的比较装置,如图2所示,包括存储器201及处理器202;
所述存储器用于存储计算机程序;
所述处理器用于在执行所述存储器存储的计算机程序时,实现如上所述的方法。
再一方面,本发明提出一种存储介质,所述存储介质存储有实现如上所述的拼车用户端与司机端最短距离的比较方法的计算机程序,所述计算机程序被处理器执行,实现如上述所述的拼车用户端与司机端最短距离的比较方法的各步骤。
Claims (10)
1.一种拼车用户端与司机端最短距离的比较方法,其特征在于,包括:
调度服务器获取距离相近的至少两个拼车用户端在道路网络中的用户加密位置信息,计算出所述用户加密位置信息的质心以及所属区域;
调度服务器根据质心所属区域,通知距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;
调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器;
调度服务器将所述随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器;
代理服务器将比较结果解密为{ak[0]}0≤k<m′发送给调度服务器;
代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机加密位置信息和所述用户加密位置的质心距离的较小值;
代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取找到最近距离的司机在原集合中的索引值Ind(rm),即为m个候选司机中与所述用户加密位置的质心距离最近的司机d*。
3.如权利要求2所述的方法,其特征在于,所述调度服务器根据质心所属区域通知预设距离质心预设范围内的m个候选司机端上传司机加密位置信息,所述司机加密位置信息为整数;调度服务器分别计算m个司机加密位置信息和所述用户加密位置的质心的距离,所述距离为l位整数;随机生成m个l位整数,并分别使用m个随机生成的l位整数对所述距离进行盲化加密后,发送给用于计算的代理服务器,具体为:
所述预设距离范围内的m个候选司机端为,位于区域Zu及与区域Zu相邻的区域内的司机端;
调度服务器通知所述预设距离范围内的m个候选司机端上传司机加密位置信息;
调度服务器将所有候选司机端的位置信息加密,得到集合D*;
调度服务器为每个候选司机端分配不同的随机置换索引j∈[0,m),并通知集合D*中所有候选司机端以加密形式上传司机加密位置信息;
调度服务器计算所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离,表示为:
调度服务器对所述用户加密位置的质心到所有司机加密位置信息的加密欧几里得平方距离进行盲化处理,选择m个均匀分布的随机l-1位整数r=r0,r1,…,rm-1,m初始为|D*|,执行逆NTT运算并与同态加计算出盲密文,具体为:
调度服务器向代理服务器发送一个打包的密文dist′p。
4.如权利要求3所述的方法,其特征在于,代理服务器解密后执行NTT运算求得多项式的系数得到盲化的距离dist′,将盲化的距离dist′两两做差得到一组差值(df0,…,dfm′-1),其中分别按位加密,并发送给调度服务器,包括:
代理服务器接收到打包的密文dist′p,用代理服务器和调度服务器提前约定好的私钥sk解密,并执行一个NTT运算以恢复成如下的多项式:
代理服务器获得盲化后的所有司机端的司机加密位置信息和用户加密位置信息的质心距离的集合dist′,即上述多项式的系数,具体如下,其中|D*|=m:
代理服务器对于dist′中的m个距离两两做差,得到距离差的集合(df0,df1,…,dfm′-1),具体如下:
代理服务器将集合(df0,df1,…,dfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换和按位加密,其中i=1,2,…,l-1,具体如下:
代理服务器将{dfp[i]}0≤i<l发送给调度服务器。
5.如权利要求4所述的方法,其特征在于,调度服务器将随机生成的m个l位整数两两做差得到一组差值(rf0,…,rfm′-1),根据预设的数值比较方法,分别比较这两组差值,将比较结果的密文ap[0]发送给代理服务器,包括:
调度服务器将m个均匀分布的随机l-1位整数(r=r0,r1,…,rm-1)两两做差,得到集合(rf0,…,rfm′-1),具体如下:
(rf0,…,rfm′-1)=(r0-r1,…,r2m′-2-r2m′-1);
调度服务器将集合(rf0,…,rfm′-1)中的每一项分别作为xk的系数,其中k=(0,1,…,m′-1),针对累加得到的多项式进行逆NTT变换,其中i=1,2,…,l-1,具体如下:
调度服务器将多项式xk累加后进行逆NTT变换,保存为op,具体如下:
当i=1,2,…,l-1,调度服务器分别按位比较dfp[i]和rfp[i]的大小,具体计算方法如下:
当i=l-1时,调度服务器对op和rfp[i]做差,将得到的差与dfp[i]进行同态乘,得到的结果即为ap[i],然后对op和dfp[i]进行同态减,将得到的差与rfp[i]进行同态乘,得到的结果即为bp[i],具体如下:
当i<l-1时,调度服务器同态加减和同态乘法获得ap[i]和bp[i],递归地得到ap[0]和bp[0],具体如下:
调度服务器将包含比较结果密文的ap[0]发送给代理服务器。
7.如权利要求6所述的方法,其特征在于,代理服务器和调度服务器协作计算,根据比较结果{ak[0]}0≤k<m′将两组差值的前m′位替换为司机与乘客组质心距离的较小值,包括:
代理服务器和调度服务器共同计算,根据比较结果{ak[0]}0≤k<m′对distk′和rk重新赋值,将距离较小的值赋给前m′项,具体如下:
代理服务器和调度服务器共同计算,对于k=0,1,…,m′-1,如果ak[0]=1表明dist2k-1>dist2k-2,则令dist′k=dist′2k-2,ri=r2k-2,否则表明dist2k-1<dist2k-2,则令dist′k=dist′2k-1,ri=r2k-1。
8.如权利要求7所述的方法,其特征在于,代理服务器和调度服务器协作计算,将m设置为m′重新计算,如此循环直至m=1,获取司机端的索引值Ind(rm),即为m个候选司机端中与所述用户加密位置信息的质心距离最近的司机d*,包括:
代理服务器和调度服务器共同计算,重置m的值,如果m为奇数则m=m′-1,否则令dist′m′-1=dist′m-1,rm′-1=rm-1,m=m′,重新计算{ak[0]}0≤k<m′,直至m=1,根据最终得到的rm-1即r0在原集合(r0,r1,…rm-1)中的索引Ind(rm-1),找到与所述用户加密位置的质心距离最近的司机d*。
9.一种拼车用户端与司机端最短距离的比较装置,其特征在于,包括存储器及处理器;
所述存储器用于存储计算机程序;
所述处理器用于在执行所述存储器存储的计算机程序时,实现如权利要求1-8任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有实现如权利要求1-8任一项所述的拼车用户端与司机端最短距离的比较方法的计算机程序,所述计算机程序被处理器执行,实现如上述权要求1-8任一项所述的拼车用户端与司机端最短距离的比较方法的各步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412652.6A CN113033915B (zh) | 2021-04-16 | 2021-04-16 | 一种拼车用户端与司机端最短距离的比较方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110412652.6A CN113033915B (zh) | 2021-04-16 | 2021-04-16 | 一种拼车用户端与司机端最短距离的比较方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033915A true CN113033915A (zh) | 2021-06-25 |
CN113033915B CN113033915B (zh) | 2021-12-31 |
Family
ID=76458013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110412652.6A Active CN113033915B (zh) | 2021-04-16 | 2021-04-16 | 一种拼车用户端与司机端最短距离的比较方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033915B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507356A (zh) * | 2021-07-08 | 2021-10-15 | 哈尔滨工业大学 | 一种密态最短路网距离计算方法、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
CN108712432A (zh) * | 2018-05-24 | 2018-10-26 | 浙江工商大学 | 一种基于代理的车载社交网络的位置隐私保护方法 |
CN109165520A (zh) * | 2018-07-16 | 2019-01-08 | 哈尔滨工业大学(深圳) | 数据加密方法及其装置、数据加密检索系统 |
CN109544900A (zh) * | 2018-11-21 | 2019-03-29 | 长安大学 | 一种面向乘客和司机共乘出行的隐私保留的路径匹配方法 |
CN110365485A (zh) * | 2019-06-20 | 2019-10-22 | 北京理工大学 | 一种基于区块链的约车的用户隐私保护方案 |
WO2019220205A1 (ja) * | 2018-05-15 | 2019-11-21 | 日産自動車株式会社 | 乗降位置決定方法、乗降位置決定装置、ならびに、乗降位置決定システム |
CN111010273A (zh) * | 2019-12-23 | 2020-04-14 | 山东师范大学 | 基于位置解密的属性基加解密方法及加解密系统 |
CN111092715A (zh) * | 2019-12-27 | 2020-05-01 | 山东师范大学 | 一种网约车信息安全处理方法、系统及设备 |
US20200143296A1 (en) * | 2018-11-01 | 2020-05-07 | Toyota Jidosha Kabushiki Kaisha | Vehicle dispatch system, server, and information processing method |
CN111159766A (zh) * | 2019-12-30 | 2020-05-15 | 任子行网络技术股份有限公司 | 一种具有隐私保护的网约车服务方法、系统及存储介质 |
CN111314871A (zh) * | 2020-01-22 | 2020-06-19 | 江西理工大学 | 一种基于联盟区块链的安全共享出行服务方案 |
-
2021
- 2021-04-16 CN CN202110412652.6A patent/CN113033915B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145791A (zh) * | 2017-04-07 | 2017-09-08 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K‑means聚类方法及系统 |
WO2019220205A1 (ja) * | 2018-05-15 | 2019-11-21 | 日産自動車株式会社 | 乗降位置決定方法、乗降位置決定装置、ならびに、乗降位置決定システム |
CN108712432A (zh) * | 2018-05-24 | 2018-10-26 | 浙江工商大学 | 一种基于代理的车载社交网络的位置隐私保护方法 |
CN109165520A (zh) * | 2018-07-16 | 2019-01-08 | 哈尔滨工业大学(深圳) | 数据加密方法及其装置、数据加密检索系统 |
US20200143296A1 (en) * | 2018-11-01 | 2020-05-07 | Toyota Jidosha Kabushiki Kaisha | Vehicle dispatch system, server, and information processing method |
CN109544900A (zh) * | 2018-11-21 | 2019-03-29 | 长安大学 | 一种面向乘客和司机共乘出行的隐私保留的路径匹配方法 |
CN110365485A (zh) * | 2019-06-20 | 2019-10-22 | 北京理工大学 | 一种基于区块链的约车的用户隐私保护方案 |
CN111010273A (zh) * | 2019-12-23 | 2020-04-14 | 山东师范大学 | 基于位置解密的属性基加解密方法及加解密系统 |
CN111092715A (zh) * | 2019-12-27 | 2020-05-01 | 山东师范大学 | 一种网约车信息安全处理方法、系统及设备 |
CN111159766A (zh) * | 2019-12-30 | 2020-05-15 | 任子行网络技术股份有限公司 | 一种具有隐私保护的网约车服务方法、系统及存储介质 |
CN111314871A (zh) * | 2020-01-22 | 2020-06-19 | 江西理工大学 | 一种基于联盟区块链的安全共享出行服务方案 |
Non-Patent Citations (4)
Title |
---|
CHUAN XU等: "Personalized Location Privacy Protection for Location-Based Services in Vehicular Networks", 《 IEEE WIRELESS COMMUNICATIONS LETTERS》 * |
MENG LI等: "Efficient and Privacy-Preserving Carpooling Using Blockchain-Assisted Vehicular Fog Computing", 《IEEE INTERNET OF THINGS JOURNAL》 * |
杨光唯: "面向隐私保护的网约车调度管理关键技术", 《中国优秀硕士学位论文全文数据库 (中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》 * |
高胜等: "LBS中面向协同位置隐私保护的群组最近邻查询", 《通信学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507356A (zh) * | 2021-07-08 | 2021-10-15 | 哈尔滨工业大学 | 一种密态最短路网距离计算方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113033915B (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3913850A1 (en) | Key management method and related device | |
CN107145791B (zh) | 一种具有隐私保护的K-means聚类方法及系统 | |
US7873169B2 (en) | Methods, devices and systems for generating anonymous public keys in a secure communication system | |
Caelli et al. | PKI, elliptic curve cryptography, and digital signatures | |
JP5762232B2 (ja) | プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム | |
CN116150795B (zh) | 基于同态加密的数据处理方法、系统及相关设备 | |
CN111786786A (zh) | 云计算环境下支持等式判定的代理重加密方法及系统 | |
JP3518672B2 (ja) | 素数生成装置及び暗号システム | |
CN113033915B (zh) | 一种拼车用户端与司机端最短距离的比较方法及装置 | |
CN111639345A (zh) | 基于同态加密的安全的多方云计算的方法和系统 | |
CN104917611A (zh) | 用于云计算的数据加解密处理方法和装置 | |
Jaspin et al. | Efficient and secure file transfer in cloud through double encryption using AES and RSA Algorithm | |
CN111555880B (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
EP2947813B1 (en) | Decryption service providing device, processing device, safety evaluation device, program, and recording medium | |
CN109981253B (zh) | 一种基于有限李型群的抗量子攻击的非对称加密方法 | |
CN116307326A (zh) | 基于同态加密的智能网联汽车路径规划方法 | |
Salman et al. | A homomorphic cloud framework for big data analytics based on elliptic curve cryptography | |
US20060002562A1 (en) | Method and apparatus for geometric key establishment protocols based on topological groups | |
EP3883178A1 (en) | Encryption system and method employing permutation group-based encryption technology | |
Yu et al. | Privacy‐Preserving Outsourced Logistic Regression on Encrypted Data from Homomorphic Encryption | |
WO2020169996A1 (en) | Matrix-based cryptographic methods and apparatus | |
CN114095157B (zh) | 密钥管理方法、装置、计算机设备及可读存储介质 | |
CN116471051B (zh) | 一种基于不经意传输协议的安全多方数据排序方法 | |
CN115442102B (zh) | 一种基于sm9算法的等式测试方法 | |
JP2005321719A (ja) | 通信システム、復号装置、復元装置、鍵生成装置及び通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |