自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 隐私计算实训营学习九:隐语多方安全计算在安全核对的行业实践

可通过隐语的SCQL分析工具进行解决上面的问题,多方核对完成产出结果与核对报告。首先进行数据授权,基于授权的数据核对任务,最后进行结果排查。

2024-04-06 21:10:45 621

原创 隐私计算实训营学习八:隐语SCQL的开发实践

⽬的是防⽌伪造身份攻击,加入Alice创建用户用私钥签名create user请求,将公钥告诉SCDB,SCDB会将该公钥信息与Alice关联。此时有恶意用户Mallory冒充Bob,但不知道Bob的公私钥,只能用伪造的公私钥签名,SCDB指导公私钥是成对的,但无法识别是否为冒充的。​ 多节点 P2P 部署模式:https://www.secretflow.org.cn/zh-CN/docs/scql/0.5.0b2/topics/deployment/how-to-deploy-p2p-cluster。

2024-04-06 21:04:41 1389

原创 隐私计算实训营学习七:隐语SCQL的架构详细拆解

因此提出CCL的多方数据分析安全保障模型,数据拥有方首先设置数据如何被使用的限制,若未通过CCL检查则直接被拒绝,若通过再由审核员确认,减轻审核员负担。例如:Alice对Bob的约束为,Alice table A的salary字段对Bob的权限必须经过聚合操作(sum/avg/min/max)后才能对Bob可见。数据需要出域,数据方首先将数据加密上传到可信执行环境里,可信执行环境能够保证数据安全,在可信执行环境进行计算。数据不需要出域,数据拥有方需要部署计算节点,通过MPC协议进行计算。

2024-04-01 22:35:41 1302

原创 隐私计算实训营学习六:隐语PIR介绍及开发指南

用户查询服务端数据库中的数据,但服务端不知道用户查询的是哪些数据。按服务器数量分类:单服务器方案(Single Server)、多服务器方案(Multi-Server)。按查询类型分类:Index PIR、Keyword PIR。隐语实现的Index PIR基于SealPIR,SealPIR基于BFV的同态方案,SealPIR主要用到的多项式为密文加法、明文乘密文、密文替换。

2024-03-31 23:10:58 1651

原创 隐私计算实训营学习五:隐语PSI介绍及开发指南

是一种特殊的安全多方计算(MPC)协议。Alice持有集合X,Bob持有集合Y,Alice和Bob通过执行PSI协议,得到交集结果X∩Y,除交集外不会泄漏交集外的其它信息。1、两方dp-psi2、多方ecdh-3-party(可扩展到多方)协议简单、易于理解与实现、通信成本小、计算量大、易于扩展到求交集数量与计算PSI类型。1、Alice将自己的数据哈希到ECC点,通过私钥对这些点进行加密点乘,然后发送给bob。

2024-03-31 22:50:15 1036 1

原创 隐私计算实训营学习四:SecretFlow的安装和部署

仿真模式用于快速验证代码效果,仅需在一台机器上部署代码即可;生产模式针对安全生产设计,主要作了安全增强,每一个参与方都是独立的Ray集群,所有参与方都需要执行代码。Ray为分布式计算框架,SecretFlow使用Ray作为分布式计算调度框架,Ray集群由一个主节点和零或若干个从节点组成。

2024-03-24 22:15:23 1520 2

原创 隐私计算实训营学习三:隐私计算框架的架构和技术要点

下层为Runtime,主要为MPC的各种协议Semi2k、ABY3、Cheetah。PSI/PIR产品人员、PSI/PIR需求人员、PSI/PIR研发人员。隐私保护计算从业者、隐私保护计算需求方、隐私保护计算集成商、开发人员…数据分析集成商、数据分析产品人员、数据分析需求人员、数据分析研发人员。互联互通需求方、算法研发人员、平台研发人员、隐私保护计算集成商。深度学习需求方、深度学习产品人员、安全AI研究人员。机器学习研发人员、密码协议研发人员、编译器研发人员。隐私保护计算需求方、监管方、运维人员。

2024-03-20 23:08:00 1691

原创 隐私计算实训营学习二:隐私计算开源如何助力数据要素流通

其以安全、开放为核心设计理念,支持MPC、FL、TEE 等主流隐私计算技术,融合产学研生态共创能力,助力隐私计算更广泛应用到AI、数据分析等场景中,解决隐私保护和数据孤岛等行业痛点。数据要素离开了持有方管控域,在使用方运维域,持有方依然拥有管控需求和责任,数据外循环是构建数据要素市场的核心,通过外循环数据提供方与使用方都可以获得收益。信任本质上是对不确定性和复杂性的依赖,从主体信任到技术信任,基于安全可信的技术信任体系,是支撑全行业数据要素安全可控流转的基础。统一架构、原生应用、开放拓展、性能卓越。

2024-03-20 22:52:53 920

原创 隐私计算实训营学习一:数据可信流通,从运维信任到技术信任

但可通过可信硬件芯片验证网络上某节点的软件与硬件,能够远程验证数字应用的身份,并对执行环境做度量,是技术信任的根基。法律层面虽然可以明确规定数据流转过程中的持有权、加工权、经营权,但在实际流转过程中,由于数据在技术层面非常容易分割、拷贝、改变,导致权限保障非常困难。需要覆盖从原始数据到衍生数据的端到端的全过程,其他情况下数据为密态的,密态流通可以破解网络安全保险(数据要素险)中风险闭环的两大难题(定责和定损)。传统的数据安全模式,主体身份明确,各方利益一致,数据处理能力稳定提升,出问题时追责明确。

2024-03-20 22:40:27 1200

原创 ElasticSearch入门学习:基础铺垫与简介

ElasticSearch是一个分布式、可水平扩展的搜索和数据分析引擎,是用java开发并且是当前最流行的开源的企业级搜索引擎,能够达到实时搜索,并且设计了友好的Restful-API使得开发者无需关注底层机制,直接开箱即用;还拥有分片、副本机制解决了集群下性能与高可用问题。稳定、可靠、快速、安装使用方便,客户端还支持java、C#、PHP、Python、Ruby等多种语言。

2023-04-23 01:09:47 1017

原创 高性能RPC框架:TARS简介、设计思想、架构、特性学习

TARS是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。

2023-04-17 23:08:42 2194

原创 分布式版本控制工具Git:环境搭建与常用命令

Git:是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 每一个客户端都有一个本地仓库,客户端创建的所有代码记录与分支都在本地仓库,但项目最终代码是要合并的,项目所有代码可以提交到远程版本托管系统Github上进行合并同步。

2023-03-01 09:43:39 497

原创 数据序列化:Protobuf简介及使用

Protobuf(protocol buffer):是google 的一种数据交换的格式,它独立于平台语言。 google 提供了protobuf多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。它是一种二进制的格式,网络传输时节省带宽资源,而且它只存储有效数据,比使用xml、json进行数据交换快许多,用protobuf序列化后的大小是json的10分之一,xml格式的20分之一,是二进制序列化的10分之一。 可以把它用于分布式应用之间的数据通信

2023-02-27 15:13:33 787

原创 RPC分布式网络通信框架:集群与分布式理论

集群:每一台服务器独立运行一个工程的所有模块。分布式:一个工程拆分了很多模块,每一个模块独立部署运行在一个服务器主机上,所有服务器协同工作共同提供服务,每一台服务器称作分布式的一个节点,根据节点的并发要求,对一个节点可以再做节点模块集群部署。

2023-02-27 12:13:48 386

原创 集群聊天服务器:三、集群代码实现

我们一台服务器上的文件描述符是有限的,32位操作系统大约支持2w左右的并发量,一旦客户端非常多时业务就无法支持了。此时就需要集群或分布式的部署了,引入多台服务器增加并发量。

2023-02-22 18:24:08 860

原创 集群聊天服务器:二、客户端代码实现

客户端首页: 客户端不需要高并发直接采用基于TCP的网络编程即可,服务器需要什么消息我们就发送什么消息,服务器返回什么消息我们就解析什么消息。 用户执行客户端,有注册、登录、退出业务。注册完新用户后进行登录,输入用户id、密码后客户端发送登录请求到服务器,服务器验证这些信息是否正确,正确用户便进入聊天菜单页面。

2023-02-20 11:52:56 526

原创 集群聊天服务器:一、服务器代码实现

服务器网络模块: 网络模块我们直接利用优秀的muduo开源库即可,完全基于Reactor模型,其底层实质上为epoll + pthread线程池实现的,使用其好处为我们能够将网络I/O的代码和业务代码分开,我们可以利用现成的框架快速高效的进行项目开发。

2023-02-13 17:23:43 1211

原创 CMake:简介及构建集成编译环境

CMake: 使用简单方便,可以跨平台,构建项目编译环境。比直接写Makefile简单(在构建大型工程编译时,需要写大量的文件依赖关系),可以通过简单的CMake配置生成负责的Makefile文件,一个命令便将我们项目想编译的可执行文件、静态库、动态库都编译出来了。

2023-02-10 18:39:06 2693

原创 C++Muduo网络库:简介及使用

Muduo网络库:底层实质上为Linux的epoll + pthread线程池,且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环,有一个main Reactor负载accept连接,然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor),该连接的所用操作都在那个sub Reactor所处的线程中完成。多个连接可能被分派到多个线程中,以充分利用CPU,Reactor poll的大小是固定的,根据CPU的数目确定。如果有过多的耗费CPU I/O的计算任务,可

2023-02-07 17:53:16 8138

原创 数据序列化:Json简介及使用

Json是一种轻量级的数据交换格式(也叫数据序列化方式)。Json采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 Json 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2023-02-06 20:01:40 4472 1

原创 C++Muduo网络库:二、高性能网络服务器基础

在这个多核时代,服务端网络编程如何选择线程模型呢? 赞同libev作者的观点:one loop perthread is usually a good model(一个线程有一个事件循环是一个好的事件模型),这样多线程服务端编程的问题就转换为如何设计一个高效且易于使用的event loop,然后每个线程run一个event loop就行了(当然线程间的同步、互斥少不了,还有其它的耗时事件需要起另外的线程来做)。

2023-02-04 13:03:17 1608 1

原创 C++Muduo网络库:一、Linux五种I/O模型基础

什么是阻塞、非阻塞、同步、异步:阻塞、非阻塞、同步、异步都是在描述I/O操作的一些状态,一个典型的I/O包含两个状态,数据准备和数据读写。例如我们使用recv()接收数据时,传入sockfd,buf,buf大小,当sockfd工作在阻塞模式下,没有接收数据时调用recv()时会阻塞当前线程;当sockfd工作在非阻塞模式下,sockfd会立即返回,依据返回值来判断非阻塞状态。

2023-02-03 12:01:22 234

原创 Linux:Libevent简单使用

文章目录一、什么是Libevent二、Libevent如何使用三、Libevent简单使用实例四、Libevent简单实现TCP服务器一、什么是LibeventLibevent: 是开源社区的一款高性能的I/O框架库。 其学习和使用者众多,例如:高性能的分布式内存对象缓存软件memcached,Google浏览器Chromium的Linux版本。Libevent使用特点:1.跨平台支持: Libevent支持Linux,UINX和Windows。2.统一事件源: Libevent对I/O事件、信号

2020-08-01 16:47:03 2009

原创 数据库:锁机制、触发器、存储过程

文章目录一、锁机制1.1MyISAM中的锁:表锁1.2InnoDB中的锁:行锁1.3悲观锁1.4乐观锁1.5意向锁1.6间隙锁二、触发器三、存储过程一、锁机制为什么需要锁机制?我们的数据库是一个多客户端的程序,允许多个客户端同时连接同一个数据库,处理时会出现并发情况,我们就需要加锁来控制了。锁机制:并发处理时保证数据完整性。1.1MyISAM中的锁:表锁表锁:将整张表的数据都锁定,粒度...

2020-03-20 14:37:49 710

原创 数据库:MySQL事务详解

文章目录一、事务基本概念二、原子性三、一致性四、隔离性3.1没有隔离性产生的问题3.2隔离级别五、持久性一、事务基本概念事务:事务是一组SQL语句的集合,必须满足ACID特性才能成为事务。A原子性:这一组SQL语句要么全部执行成功,要么全部执行失败。C一致性:事务执行前后保证完整性约束。I隔离性:消除事务间的相互影响。D持久性:保证事务执行的结果在磁盘上永久的存储。 二、...

2020-03-19 11:53:52 598 1

原创 数据库:MySQL索引详解

文章目录一、索引问题1.1索引查询与非索引查询1.2辅助索引与主索引1.3索引的优化二、索引使用2.1索引分类2.2索引创建2.2使用实例三、索引注意事项一、索引问题我们之前对索引操作有过介绍:如果不了解,可以先看看这篇文章。数据库:Mysql架构、索引、锁机制、事务、存储引擎今天我们再来看一看它们,这里有几个问题:1.1索引查询与非索引查询索引查询:这是我们在id字段建立了一个索引,...

2020-03-18 22:43:55 478

原创 数据库:Mysql架构、索引、锁机制、事务、存储引擎

文章目录一、Mysql架构二、索引三、锁机制四、事务五、存储引擎5.1MyISAM5.2InnoDB5.3MEMORY5.4ARCHIVE一、Mysql架构Mysql架构:C/S架构,基于服务器端/客户端处理。执行流程:1.先开启服务器端:service mysqld start2.再由客户端连接服务器端:mysql -u root -p3.当mysql -u root -p到达服务...

2020-03-18 18:43:45 452

原创 C++:泛型算法与绑定器

文章目录一、泛型算法二、绑定器一、泛型算法使用STL库中提供的泛型算法需要引入:#include <algorithm>泛型算法:template + 迭代器 + 函数对象;用模板实现的,接收的是容器的迭代器,还可以更改运算结果。。特点:1.泛型算法的参数接受的都是迭代器。2.泛型算法的参数还可以接受函数对象。实例1:sortint arr[] = {12, 4, 78...

2020-03-17 22:34:28 316

原创 C++:函数对象与函数指针

文章目录一、函数对象与函数指针二、使用实例一、函数对象与函数指针函数对象: 拥有()operator重载函数的对象即函数对象,函数对象类似C语言里面的函数指针,但在C++里为函数对象。问题一:什么是函数对象呢?例如:我们C语言进行函数调用与C++中两个函数调用。       看起来它们好像一模一样,但是C语言中的su...

2020-03-17 20:51:52 1900

原创 C++:迭代器iterator

迭代器iterator1.普通的正向迭代器iterator:打印元素时从第一个打到最后一个,既可以读也可以修改。2.常量的正向迭代器const_iterator:只能读而不能写。3.反向迭代器reverse_iterator:打印元素时从最后一个打印到第一个,既可读也可以修改。4.常量的反向迭代器const_reverse_iterator:打印元素时从最后一个打印到第一个,只能读而不能写...

2020-03-17 15:17:21 513

原创 C++STL:无序关联容器、有序关联容器

文章目录一、无序关联容器二、有序关联容器一、无序关联容器无序关联容器:二、有序关联容器有序关联容器:

2020-03-17 12:26:01 2159

原创 C++STL容器适配器:栈、队列、优先级队列

文章目录一、容器配置栈二、队列三、优先级队列一、容器配置栈二、队列三、优先级队列

2020-03-16 20:04:27 396

原创 C++STL顺序容器:vector、deque、list

文章目录一、vector容器1.1使用方式1.2使用实例二、deque容器2.1底层实现2.2使用方式三、list容器四、vector、deque、list对比分析我们经常提到STL,那么STL究竟是什么呢?STL:其英文全称为standard template libaray,即标准模板库。我们根据需要直接实例化这些模板,提高了我们使用的效率。一、vector容器vector:向量容器,...

2020-03-16 15:40:42 735

原创 C++:语言级别提供的四种类型转换

文章目录一、const_cast二、static_cast三、reinterpret_cast四、dynamic_cast一、const_castconst_cast:修改类型的const或volatile属性。 使用该运算方法可以返回一个指向非常量的指针(或引用)指向,就可以通过该指针(或引用)对它的数据成员任意改变。注意:1.不考虑const或valatile后类型保持一致才可以进行合...

2020-03-15 22:38:43 465

原创 C++继承与多态六:虚基类、虚继承、多重继承中菱形继承问题及解决方案

文章目录一、虚基类和虚继承二、虚基类和虚继承出错情况分析三、菱形继承问题一、虚基类和虚继承虚基类:被虚继承的类,就称为虚基类。virtual作用:1.virtual修饰了成员方法是虚函数。2.可以修饰继承方式,是虚继承。被虚继承的类就称为虚基类。vfptr:一个类有虚函数,这个类生成的对象就有vfptr,指向vftable。vbptr:在派生类中从基类虚继承而来。vftable:第...

2020-03-15 20:36:53 641

原创 C++继承与多态五:继承多态与虚函数案例深入分析

我们这里来看几个问题来更加深入了解继承多态与虚函数。题目一:猫狗叫声问题//动物基类 泛指 类-》抽象一个实体的类型class Animal{public: Animal(string name):_name(name){} //纯虚函数 virtual void bark() = 0;protected: string _name;};//动物实体类class C...

2020-03-15 14:27:13 406

原创 C++继承与多态四:详解多态应用原理、抽象类

文章目录一、详解多态应用原理二、抽象类及实例一、详解多态应用原理多态:多态字面理解为多种多样的形态。多态分为静多态与动多态。静多态: 编译时期的多态:函数重载、模板(函数模板、类模板)动多态: 运行时期的多态。在继承结构中,基类指针(引用)指向派生类对象,通过该指针(引用)调用同名覆盖方法(虚函数),基类指针指向哪个派生类对象,就会调用哪个派生类对象的同名覆盖方法,成为动多态。多态底层是通...

2020-03-14 20:41:43 405

原创 C++继承与多态三:虚函数、静态绑定与动态绑定问题、虚析构函数

文章目录一、虚函数与静态绑定、动态绑定问题二、虚析构函数三、深入动态绑定问题一、虚函数与静态绑定、动态绑定问题虚函数: 在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数。注意:1.一个类里面定义了虚函数,那么编译阶段,编译器需给这个类类型产生一个唯一的vftable虚函数表。虚函数表中主要存储的内容就是RTTI指针和虚函数的地址。当程序运行时,每一张虚函数表都会...

2020-03-14 12:56:51 472

原创 C++继承与多态二:重载,隐藏,覆盖、继承中的类型转换

文章目录一、重载、隐藏、覆盖二、隐藏关系三、继承中的类型转换一、重载、隐藏、覆盖继承结构中,名字相同的成员会产生关系,基类派生类里面相关的成员方法我们经常使用三种关系来描述它们,即:重载、隐藏、覆盖关系。重载: 一组函数要重载,必须处在同一个作用域当中;而且函数名字相同,参数列表不同。重载有很多例子,这里就不提了。隐藏(作用域的隐藏): 在继承结构当中,派生类的同名成员,把基类的同盟成员给...

2020-03-13 21:30:50 308

原创 C++继承与多态一:继承的本质和原理、访问限定表、派生类的构造过程

文章目录一、继承的本质和原理二、访问限定表三、派生类的构造过程一、继承的本质和原理继承的本质: a kind of1.代码的复用。我们先来瞧一瞧:假设我们现在有一个class Aclass A{public: int ma;protected: int mb;private: int mc;};还有一个class B,classB中也有ma,mb,mc;class...

2020-03-13 20:04:07 304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除